在Debian中网卡的设置可以通过/etc/network/interfaces文件来进行,具体可分为三种不同的配置方式:DHCP自动获取、静态分配IP地址和PPPoE宽带拨号。 具体设置如下: 在进行配置之前,首先进入/etc/network目录中,用nano命令编辑interfaces文件: 网卡通过DHCP自动获取IP地址 # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # # The loopback network interface(配置环回口) # 开机自动激lo接口 auto lo # 配置lo接口为环回口 iface lo inet loopback # # The primary network interface (配置主网络接口) #开机自动激活eth0接口 auto eth0 #配置eth0接口为DHCP自动获取 iface eth0 inet dhcp 网卡静态分配IP地址 # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # # The loopback network interface(配置环回口) # 开机自动激lo接口 auto lo # 配置lo接口为环回口 iface lo inet loopback # # The primary network interface (配置主网络接口) #开机自动激活eth0接口 auto eth0 #配置eth0接口为静态设置IP地址 iface eth0 inet static address 10.16.3.99 netmask 255.255.255.0 network 10.16.3.0 broadcast 10.16.3.255 gateway 10.16.3.1 #单网卡配置多个ip,设置第二个ip地址 auto eth0:1 iface eth0:1 inet static address x.x.x.x netmask 255.255.255.0 network 10.16.3.0 broadcast 10.16.3.255 gateway 10.16.3.1 # dns-* options are implemented by the resolvconf package, if installed(DNS设置) dns-nameservers 61.153.177.196 61.153.177.197 dns-search feelnet.org 配置好后推出编辑/etc/resolv.conf,配置DNS,加入以下信息: nameserver 219.146.0.130 基本文件格式 Debian的网络配置文件在目录/etc/network中,其中的interfaces文件中保存了每一个网络设备在启动时的属性。下面是一个很简单的配置文件: 例子 1. 简单的配置文件 auto lo eth0 ① iface lo inet loopback ② iface eth0 inet dhcp ③ iface eth1 inet static ④ address 10.1.133.165 netmask 255.255.255.0 gateway 10.1.133.1 ① 表示系统中的lo和eth0两个网络设备在系统启动网络时自动启动。 ② 表示网络设备lo使用TCP/IP网络并且是一个loopback设备,如果是IPV6网络则使用"inet6",IPX网络使用"ipx"。 ③ 表示网络设备eth0使用TCP/IP网络,同时使用DHCP自动获取IP地址。 ④ 表示网络设备eth1使用TCP/IP网络,并且是占用固定的IP 10.1.33.165,子网掩码是255.255.255.0,网关是10.1.133.1。 上面的这种配置方式,可以使用于大多数的情况,但在一些特殊的情况下,就需要一些更为灵活的手段来配置网络。 通过PING配置网络 Linux在处理PCMCIA卡的时候有比较好的方式,可以在PCMICA卡插入时通过一个配置脚本来确定网络地址。但是,笔记本上的网卡是笔记本自带的,并非PCMCIA卡,由于经常需要奔波于办公室、实验室和家之间,就经常需要修改网络地址。如果我去的每一个地方都安装了DHCP,那么我就可以把 eth0设定成为DHCP的方式,然而我的情况却是:在家可以使用DHCP,在办公室和实验室都要使用固定地址。 为了解决这个问题,我们可以使用一种mapping机制,这种方法的基本原理是通过运行一个程序来确定目前所处的环境,并为这个环境选择一套配置。我现在使用的就是通过ping一个网络的网关来确定当前网卡究竟连接在哪个网络上,然后再选择这个网络的配置。 首先,在/usr/share/doc/ifupdown/examples中有一个文件ping-places.sh,把它复制到/etc/network目录中,然后chmod +x /etc/network/ping-places.sh。下面就是编辑/etc/network/interfaces文件,下面是一个例子: 例子 2. mapping eth0 ① script /etc/network/ping-places.sh map 192.168.0.107/24 192.168.0.1 home map 10.1.133.165/24 10.1.133.1 office map 10.1.0.107/24 10.1.0.1 lab iface home inet dhcp ② iface office inet static ③ address 10.1.133.165 netmask 255.255.255.0 gateway 10.1.133.1 up cp /etc/resolv.conf.school /etc/resolv.conf ④ iface lab inet static address 10.1.0.107 netmask 255.255.255.0 gateway 10.1.0.1 up cp /etc/resolv.conf.school /etc/resolv.conf ① 表示对于网络设备调用脚本/etc/network/ping-places.sh,如果能够用地址192.168.0.107/24 ping通地址192.168.0.1,则将eth0映射为设备home,即启动home的配置。后面的office和lab与其类似。 ② 表示虚拟设备home使用DHCP分配的地址。 ③ 表示虚拟设备office使用固定地址。 ④ 表示在启动这个网络设备后还要执行cp命令,从而指定一个域名解析方法。除了up以外,还有pre-up、down和post-down可以用来指定在启动或停止网络设备前后执行的命令。 在/usr/share/doc/ifupdown/examples中有一些配置网络的例子和需要的脚本。