操作系统 RHEL 6.4
修改网卡名称为eth0
vi /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:bc:15:79", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
cd /etc/sysconfig/network-scripts/
mv ifcfg-ethx ifcfg-eth0
vi ifcfg-eth0
DEVICE=eth0 并且删除UUID
reboot 重启生效
配置网络
vi /etc/sysconfig/network-scripts/ifcfg-eth0
精简
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.6.121
PREFIX=24
GATEWAY=192.168.6.2
DNS1=202.101.172.35
DEVICE=eth0
TYPE=Ethernet
UUID=9e2b2bd1-ac0d-46de-8422-0a5ba3907e17
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.6.121
PREFIX=24
GATEWAY=192.168.6.2
DNS1=202.101.172.35
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
注:这些参数值不区分大小写,不区分单引号和双引号,甚至可以不用引号。
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地址/前缀长度
修改网络配置,最简单地是使用ifconfig命令,无需重启,立即生效。关于ifconfig的知识在博文《Linux命令 — 设置或查看网络配置命令ifconfig》中有详细介绍。ifconfig配置的网络只是当前临时有效,当计算机重启之后就失效了。为了使网络配置永久有效,就需要在/etc/sysconfig/network-scripts/下修改网络接口配置文件。但是,这些文件修改后,并不能立即生效。有两种方式使修改文件的网络配置生效:
1) 执行service network restart命令,重启网络服务(推荐)
2) 重启计算机
ifconfig命令用于设置或查看网络配置,包括IP地址、网络掩码、广播地址等。它是linux系统中,使用频率最高的关于网络方面的命令。
命令格式:
ifconfig 【interface】 【options】address
主要参数:
interface:网络接口名
up:打开网络接口
down:关闭网络接口
broadcast:设置网络接口的广播地址
netmask:设置网络接口的子网掩码
address:设置网络接口的IPv4地址
add:给指定网络接口配置IPv6地址
del:删除指定网络接口的IPv6地址
如果加interface,则显示指定网络接口的信息。如果没有任何参数,则显示计算机所有激活网络接口的信息,如下所示:
[root@linux tmp]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
inet6 addr: fd55:faaf:e1ab:1b01:20c:29ff:fec0:8336/64 Scope:Global
inet6 addr: fe80::20c:29ff:fec0:8336/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
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:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
主要指标说明:
eth0/lo:网络接口名
Link encap:网络类型
HWaddr:网卡物理地址
Bcast:广播地址
Mask:子网掩码
inet addr:IPv4地址
inet6 addr:IPv6地址
UP:网络接口处于打开状态
MTU:最大传输单元
Metric:度量值
RX packets/TX packets:接受/传输数据包统计
RX bytes/TX bytes:接受/传输数据字节数统计
示例输出的解释如下:
Linux中的网卡名以eth开头,从0开始依次编号,示例中的eth0表示第一块网卡。同时,每个主机都有一个回环网络接口lo用来连接自身,用来测试网络程序,固定的IP地址是127.0.0.1。
网络接口eth0的类型是Ethernet,物理地址:00:50:56:BF:26:20,IPv4地址:192.168.120.204,广播地址:192.168.120.255,子网掩码:255.255.255.0。IPv6地址分别为fd55:faaf:e1ab:1b01:20c:29ff:fec0:8336和fe80::20c:29ff:fec0:8336。状态是开启状态,最大传输单元是1500,度量值是1。
回环网络接口lo的类型是Local Loopback,IPv4地址:127.0.0.1,子网掩码:255.0.0.0。IPv6地址为::1,状态是开启状态,最大传输单元是16436,度量值是1。
下面以网络接口eth0为例,介绍一些ifconfig常用的用法。
[root@linux tmp]# ifconfig eth0 查看eth0的信息
一个网络接口上,可以有一个以上IP地址,不仅可以有IPv4地址,还可以有IPv6地址。在添加多个IP的时候,可以为每个IP对应的网络接口取一个别名:eth0:0,eth0:1,...。由于这些IP都在一个网络接口eth0上,所以这些别名都有eth0的前缀。不过在通过ifconfig命令查看网络接口信息的时候,像eth0:0等这些网络接口会跟eth0一样,单独显示配置信息。
[root@linux tmp]# ifconfig eth0 192.168.120.204 配置eth0的ip
[root@linux tmp]# ifconfig eth0 192.168.120.204 netmask 255.255.255.0 配置eth0的ip,并加子网掩码
[root@linux tmp]# ifconfig eth0 192.168.120.204 netmask 255.255.255.0 broadcast 192.168.120.255 配置eth0的ip,并加子网掩码和广播地址
[root@linux tmp]# ifconfig eth0:0 192.168.120.203 netmask 255.255.255.0 为eth0额外配置一个IPv4
[root@linux tmp]# ifconfig eth0 add 33ffe:3240:800:1005::2/64 添加eth0的IPv6地址
[root@linux tmp]# ifconfig eth0 del 33ffe:3240:800:1005::2/64 删除eth0的IPv6地址
[root@linux tmp]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE 配置eth0的MAC地址
[root@linux tmp]# ifconfig eth0 up 启动网络接口eth0
[root@linux tmp]# ifconfig eth0 down 关闭网络接口eth0
注意:
无需重启计算机,网络设置之后立即生效。用ifconfig命令配置网络接口的参数,机器重启以后就会丢失。如果要使配置参数永远有效,需要修改网卡的配置文件。