Linux 下网卡参数配置

在 Linux 下如果想修改网卡的参数有很多种方法,第一种方法是修改 /etc/network/interfaces 文件,这种方法可以在重启后依然有效;另外一种方法是使用 ifconfig 指令,这种方法只能临时性的修改网卡参数,在重启后会失效。

第一种:修改 interfaces 文件

interfaces 文件在 /etc/network/ 文件夹下,是网络接口配置文件,里面包含了所有网络接口的配置信息。

interfaces 文件有自己的编写规则,其中以 ‘#’ 开头的行会被系统忽略,因此可以作为注释使用。每个指令占一行,如果写不下可以用 ‘\’ 符号作为此行结尾,在下一行接着写命令。

文件由 “iface”,”mapping”,”auto”,”allow-” 和 “source” 字段组成。下面是一个例子:

auto lo eth0allow-hotplug eth1iface lo inet loopbacksource interfaces.d/machine-dependentmapping eth0script /usr/local/sbin/map-schememap HOME eth0-homemap WORK eht0-workiface eth0-home inet staticaddress 192.168.1.1netmask 255.255.255.0up flush-mailiface eth0-work inet dhcpiface eth1 inet dhcp

以 “auto” 开头的行是用来确定物理网络接口将会被启动当 ifup -a 指令被运行时(这个指令会在系统启动脚本中使用,因此开机时会自动启动以 “auto” 开头设置的网卡)。在 “auto” 字段的后面应该紧跟着物理接口的名字,interfaces 文件中可以设置多个 “auto” 方式启动的网络接口,ifup 指令会按照顺序启动网络设备。

以 “allow-” 开头的行是用来确定通过哪种子系统来启动那些应该被自动启动的网络设备。这样就可以使用指令 ifup –allow=hotplug 来启动那些已经设置 “allow-hotplug” 的网络设备。

NOTE:”allow-auto” 和 “auto” 是同义词。

以 “source” 开头的行是用来包含其他文件的字段,因此可以把配置拆成几个文件。 “source” 后面接的是文件路径, shell 下面的通配符可以使用。

以 “mapping” 开头的行是用来给将要启动的物理设备接口确定逻辑接口名。”mapping” 字段的第一行是以 “mapping” 开始的,后面跟着 shell 下 glob 指令语法相同的模式匹配(如 eth*)。每个 “mapping” 字段必须包含一个脚本定义,这个脚本使用物理设备接口名作为参数,并且会把下面所有以 “map” 开头的字段(不包括 “map” 本身)提供给它作为输入。在脚本执行结束前会输出一段字符串,具体例子可以参考 /usr/share/doc/ifupdown/examples 下面的例子文件。

映射一个包含搜索映射匹配模式的名字并且执行使用第一个匹配的字段来运行脚本,脚本输出的名字就是原来网卡将要被映射的名字。

如:

通过PING配置网络

Linux 在处理 PCMCIA 卡的时候有比较好的方式,可以在 PCMICA 卡插入时通过一个配置脚本来确定网络地址。但是,笔记本上的网卡是笔记本自带的,并非 PCMCIA 卡,由于经常需要奔波于办公室、实验室和家之间,就经常需要修改网络地址。如果我去的每一个地方都安装了 DHCP ,那么我就可以把 eth0 设定成为 DHCP 的方式,然而我的情况却是:在家可以使用DHCP,在办公室和实验室都要使用固定地址。

为了解决这个问题,我们可以使用一种 mapping 机制,这种方法的基本原理是通过运行一个程序来确定目前所处的环境,并为这个环境选择一套配置。我现在使用的就是通过ping一个网络的网关来确定当前网卡究竟连接在哪个网络上,然后再选择这个网络的配置。

首先,在 /usr/share/doc/ifupdown/examples 中有一个文件 ping-places.sh ,,把它复制到 /etc/network 目录中,然后 chmod a+x /etc/network/ping-places.sh。下面就是编辑 /etc/network/interfaces 文件,下面是一个例子:

mapping eth0 ①script /etc/network/ping-places.shmap 192.168.0.107/24 192.168.0.1 homemap 10.1.133.165/24 10.1.133.1 officemap 10.1.0.107/24 10.1.0.1 labiface home inet dhcp ②iface office inet static ③address 10.1.133.165netmask 255.255.255.0gateway 10.1.133.1up cp /etc/resolv.conf.school /etc/resolv.conf ④iface lab inet staticaddress 10.1.0.107netmask 255.255.255.0gateway 10.1.0.1up cp /etc/resolv.conf.school /etc/resolv.conf

NOTE:在 /usr/share/doc/ifupdown/examples 中有一些配置网络的例子和需要的脚本。

ifup 通常会给一个物理接口名作为它的第一个没有选项的参数。ifup 同时也会使用这个名字作为接口的初始化逻辑名,除非它被指定了一个 “=LOGICAL” 格式的后缀,这样 ifup 会使用 “LOGICAL” 作为接口的初始化逻辑名。

网卡配置实例回环参数配置auto lo# 配置lo接口为环回口iface lo inet loopbackDHCP方式配置auto eth0# 配置eth0接口为DHCP自动获取iface eth0 inet dhcp静态 IP 地址分配eth0#配置eth0接口为静态设置IP地址iface eth0 inet staticaddress 10.16.3.99netmask 255.255.255.0network 10.16.3.0broadcast 10.16.3.255gateway 10.16.3.1# dns-* options are implemented by the resolvconf package, if installed(DNS设置)dns-nameservers 61.153.177.196 61.153.177.197dns-search fireteam.org无线网卡配置auto wlan0iface wlan1 inet staticwpa-ssid wifi-namewpa-psk wifi-passworkaddress 192.168.1.200netmask 255.255.255.0gateway 192.168.1.1dns-nameservers 202.196.64.1

本文永久更新链接地址:

看着你手中的戒指,你说,你可以把它取下来吗?

Linux 下网卡参数配置

相关文章:

你感兴趣的文章:

标签云: