Debian中网络接口的配置文件是/etc/network/interfaces(无论有多少个网络接口,都在该文件中配置),这点与RHEL及其衍生版不太一样(/etc/sysconfig/network-scirpts/ethX),很多Debian的支持者都觉得将所有网络接口的配置放在一个文件中使用起来更方面一些。
Debian的配置文件可简可繁,比如下面这个修改就是一个最简单的配置文件:
1 auto lo
2 iface lo inet loopback
3
4 # The primary network interface
5 auto eth0
6 iface eth0 inet static
7 address 192.168.159.62
8 network 192.168.0.0
9 netmask 255.255.255.0
10 broadcast 192.168.0.255
11 gateway 192.168.159.1
上面的配置中,
第1行、第5行:说明lo接口跟eth0接口会在系统启动时被自动配置。
第2行:将lo接口设置为一个本地回环(loopback)地址。
第6行:指定eth0接口具有一个静态的(static)IP地址。
第7行-第11行:你懂的!!!!
下面我们一起来看看几个复杂些的例子(一个比一个复杂哟),
例子1:
1 auto eth0
2 iface eth0 inet static
3 address 192.168.159.62
4 network 192.168.1.0
5 netmask 255.255.255.0
6 broadcast 192.168.1.0
7 up route add -net 192.168.100.0 netmask 255.255.255.0 gw 192.168.100.1
8 up route add default gw 192.168.200.1
9 down route del default gw 192.168.200.0
10 down route del -net -net 192.168.100.0 netmask 255.255.255.0 gw 192.168.100.1
第7行、8行:指定添加一条静态路由和一个缺省路由。
第9行、10行:指定在接口禁用的时候,删掉这两条路由。
例子2:
1 auto eth0 eth0:1
2 iface eth0 inet static
3 address 192.168.0.100
4 network 192.168.0.0
5 netmask 255.255.255.0
6 broadcast 192.168.0.255
7 gateway 192.168.0.1
8 iface eth0:1 inet static
9 address 192.168.0.200
10 network 192.168.0.0
11 netmask 255.255.255.030
第8行~第11行:你懂的!!!
例子3:
1 auto eth0
2 iface eth0 inet dhcp
3 pre-up [ -f /etc/network/tonyzhang ]
第3行:在激活eth0之前检查/etc/network/tonyzhang文件是否存在,如果不存在,则不会激活eth0。
例子4:
1 auto eth0 eth1
2 iface eth0 inet static
3 address 192.168.42.1
4 netmask 255.255.255.0
5 pre-up /path/to/check-mac-address.sh eth0 00:77:88:44:11:11
6 pre-up /etc/init.d/apache2 restart
7 iface eth1 inet dhcp
8 pre-up /path/to/check-mac-address.sh eth1 AB:CD:EF:GH:IJ:KL
9 pre-up /etc/init.d/mysql restart
第5行、第8行:指定在网络接口启动时会检测网络接口的MAC地址是否为00:77:88:44:11:11和AB:CD:EF:GH:IJ:KL如果是则启用网络接口。如果不是则不启用网络接口(check-mac-address.sh文件在/usr/share/doc/ifupdown/examples/目录中,使用前注意需要给该文件增加x权限)。
第6行、第9行:指定在网络接口启动时执行指定的命令。