在Windows上配置网络比较容易,有图形化界面可操作。在Linux中往往是通过命令修改文件的方式配置网络,因此不仅需要知道配置哪个文件,还要知道文件中每个配置参数的功能。在Redhat/Fedora等Linux中,网络配置文件一般是/etc/sysconfig/network-scripts/ifcfg-eth0;而在SLES 10中却是/etc/sysconfig/network/ifcfg-eth-id-xx:xx:xx:xx:xx:xx(后面是该网络接口的MAC地址);在SLES 11中是/etc/sysconfig/network/ifcfg-eth0。
在一个计算机系统中,可以有多个网络接口,分别对应多个网络接口配置文件,在/etc/sysconfig/network-scripts/目录下,依次编号的文件是ifcfg-eth0,ifcfg-eth1,...,ifcfg-eth<X>。常用的是ifcfg-eth0,表示第一个网络接口配置文件。
ifcfg-eth0示例:
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet #网卡类型
DEVICE=eth0 #网卡接口名称
ONBOOT=yes #系统启动时是否自动加载
BOOTPROTO=static #启用地址协议 --static:静态协议 --bootp协议 --dhcp协议
IPADDR=192.168.1.11 #网卡IP地址
NETMASK=255.255.255.0 #网卡网络地址
GATEWAY=192.168.1.1 #网卡网关地址
DNS1=10.203.104.41 #网卡DNS地址
HWADDR=00:0C:29:13:5D:74 #网卡设备MAC地址
BROADCAST=192.168.1.255 #网卡广播地址
1. 配置参数说明
注:这些参数值不区分大小写,不区分单引号和双引号,甚至可以不用引号。
TYPE:配置文件接口类型。在/etc/sysconfig/network-scripts/目录有多种网络配置文件,有Ethernet 、IPsec等类型,网络接口类型为Ethernet。
DEVICE:网络接口名称
BOOTPROTO:系统启动地址协议
none:不使用启动地址协议
bootp:BOOTP协议
dhcp:DHCP动态地址协议
static:静态地址协议
ONBOOT:系统启动时是否激活
yes:系统启动时激活该网络接口
no:系统启动时不激活该网络接口
IPADDR:IP地址
NETMASK:子网掩码
GATEWAY:网关地址
BROADCAST:广播地址
HWADDR/MACADDR:MAC地址。只需设置其中一个,同时设置时不能相互冲突。
PEERDNS:是否指定DNS。如果使用DHCP协议,默认为yes。
yes:如果DNS设置,修改/etc/resolv.conf中的DNS
no:不修改/etc/resolv.conf中的DNS
DNS{1, 2}:DNS地址。当PEERDNS为yes时会被写入/etc/resolv.conf中。
NM_CONTROLLED:是否由Network Manager控制该网络接口。修改保存后立即生效,无需重启。被其坑过几次,建议一般设为no。
yes:由Network Manager控制
no:不由Network Manager控制
USERCTL:用户权限控制
yes:非root用户允许控制该网络接口
no:非root用户不运行控制该网络接口
IPV6INIT:是否执行IPv6
yes:支持IPv6
no:不支持IPv6
IPV6ADDR:IPv6地址/前缀长度
2. 配置生效
修改网络配置,最简单地是使用ifconfig命令,无需重启,立即生效。关于ifconfig的知识在博文《Linux命令 — 设置或查看网络配置命令ifconfig》中有详细介绍。ifconfig配置的网络只是当前临时有效,当计算机重启之后就失效了。为了使网络配置永久有效,就需要在/etc/sysconfig/network-scripts/下修改网络接口配置文件。但是,这些文件修改后,并不能立即生效。有两种方式使修改文件的网络配置生效:
1) 执行service network restart命令,重启网络服务(推荐)
2) 重启计算机
3.配置 ifcfg-eth0
重新导入ifcfg-eth0网络配置文件
[root@localhost ~]# /etc/init.d/network reload
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
网卡接口关闭与激活
[root@localhost ~]# ifdown eth0 #关闭网络
[root@localhost ~]# ifup eth0 #启动网络
网络服务启动与关闭
方法一:
[root@localhost ~]# service network stop #关闭网络服务
[root@localhost ~]# service network start #启动网络服务
[root@localhost ~]# service network restart #重启网络服务
方法二:
[root@localhost ~]# /etc/init.d/network stop
[root@localhost ~]# /etc/init.d/network start
[root@localhost ~]# /etc/init.d/network restart
网卡状态查询
[root@localhost ~]# service network status
Configured devices:
lo eth0
Currently active devices:
lo eth0
临时配置网卡信息,无需重启。
[root@localhost ~]# ifconfig eth0 10.1.1.10 netmask 255.0.0.0
查看网卡接口信息,默认列出所有接口
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:13:5D:74
inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe13:5d74/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:413 errors:0 dropped:0 overruns:0 frame:0
TX packets:572 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:47701 (46.5 KiB) TX bytes:64842 (63.3 KiB)
Base address:0x2000 Memory:d8920000-d8940000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:407 errors:0 dropped:0 overruns:0 frame:0
TX packets:407 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:70759 (69.1 KiB) TX bytes:70759 (69.1 KiB)
查看当前路由及网关信息
[root@localhost ~]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
DNS:
主机名:CentOS
主DNS:202.106.46.151
第二DNS:202.106.0.20
第三DNS:8.8.8.8
网络配置:
eth0
静态ip:192.168.1.106
子网掩码 255.255.255.0
默认网关 IP 192.168.1.1
DEVICE=eth0
IPADDR=192.168.1.106
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
ONBOOT=yes
BOOTPROTO=none
GATEWAY=192.168.1.1
TYPE=Ethernet