补充一些内容:
Linux下interface文件修改
我们来通过一些例子,来记录interfaces文件的书写。详情可参照man interfaces。
设置常用ethernet参数
- auto lo
- iface lo inet loopback
-
- # The primary network interface
- auto eth0
- iface eth0 inet static
- address 192.168.0.42
- network 192.168.0.0
- netmask 255.255.255.0
- broadcast 192.168.0.255
- gateway 192.168.0.1
-
- auto wlan0
- iface wlan0 inet dhcp
- wpa-ssid "TP-LINK_8D0B8A"
- wpa-psk "12345678"
复制代码
- auto是给ifup做识别用的,当我们使用ifup -a来打开网络设备的时候(init里面启动网卡的方式,以及networking start,都是使用ifup -a),ifup会找这些auto的项来进行操作。 - iface后面是logical interfaces的名字,如果我们没有使用过maping,那这里的名字就是物理设备的名字;在设备名字之后的,是这个接口使用的address family,inet或inetv6。最后的static是静态IP的意思,如果需要DHCP,把static换成DHCP就可以了。 - 从iface下一行起,就是具体这一个interface的参数设置了;格式没有缩进也是可以的,只是为了看起来清晰,但是,具体哪一个接口的设置参数,必须是跟在它的iface之后的。上面就是一些常见的设置项,应该不用过多解释。 - 作为无线设备的具体参数,我们可以直接在这里传ssid和passwd过去。注意,这里的ssid和passwd是wpa加密用的,这里需要wpa-supplicant支援。 另外,除了常见的loopback、static和dhcp外,网口的method还可以是以下几种(具体自己了解下吧): 1、manual,如果不是在默认这些启动方式行列,可以用manual方式,然后在随后的up,或者down里面定义我们如何来操作它;后面有一个例子。 2、bootp,boot protocol是无盘工作站启动时使用的协议,它向host发送请求,得到ip以及启动镜像让后把自己启动起来。 3、ppp,point to point protocol是一种数据链路层协议,被多种物理网络采用,常被ISP用作网络接入控制。 4、wvdial,操作猫来完成ppp拨号的机制。
启用网口时增加新路由 这个是我们在进行ifup或ifdown时,可以伴随执行一些什么动作,这里是直接执行添加路由。
- auto eth0
- iface eth0 inet dhcp
- up route add -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2
- up route add default gw 192.168.1.200
- down route del default gw 192.168.1.200
- down route del -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2
-
- allow-hotplug wlan0
- iface wlan0 inet manual
- wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
复制代码
up和down之后可以跟任何的command,分别是我们执行ifup和ifdown时,需要同时进行一些其他的什么操作。这里是添加和删除路由。 另外还有,pre-up,pre-down,post-up,post-down,他们分别表示,需要为ifup做什么准备,需要为ifdown做什么准备,ifup完成之后我们还要做些什么,ifdown之后我们还要做些社么。 我们还可以在/etc/network/目录下还可以建目录if-up.d,if-down.d等等文件夹,在文件夹下我们可以放置我们要执行的脚本。比如,我们可以把配置无线网卡的wpa_supplicant相关脚本放在if-pre-up.d里面。
mapping机制 在debian系统里面,会存在网卡启动顺序的问题,所以,到底哪块网卡是eth0,哪块网卡是eth0还真说不上来,这时候mapping就很有用了。
- auto eth0 eth1
- mapping eth0 eth1
- script /path/to/get-mac-address.sh
- map 11:22:33:44:55:66 lan
- map AA:BB:CC:DD:EE:FF internet
- iface lan inet static
- address 192.168.42.1
- netmask 255.255.255.0
- pre-up /usr/local/sbin/enable-masq $IFACE
- iface internet inet dhcp
- pre-up /usr/local/sbin/firewall $IFACE
复制代码
上面的代码先是根据MAC地址,给每块网卡起了一个逻辑名,然后根据逻辑名来对网卡进行配置。 必须的是,每个mapping必含有一个script。
——————
无论在哪里做什么,只要坚持服务、创新、创造价值,其他的东西自然都会来的。
|