有時你也許想要給一個網卡多個地址。你該怎麼做呢?另外買一個網卡來分配地址?在小型網絡中其實不用這麼做。我們現在可以在CentOS/RHEL 7中給一個網卡分配多個ip地址。想知道怎麼做麼?好的,跟隨我,這並不難。
首先,讓我們找到網卡的IP地址。在我的CentOS 7服務器中,我只使用了一個網卡。
用root特權運行下面的命令:
ip addr示例輸出:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:80:63:19 brd ff:ff:ff:ff:ff:ff inet 192.168.1.150/24 brd 192.168.1.255 scope global enp0s3 valid_lft forever preferred_lft forever如上所見,我的網卡名是enp0s3,ip地址是192.168.1.150。
如你所知,網卡的配置文件存儲在 /etc/sysconfig/network-scripts/ 目錄下。每個網卡的詳細內容將會以不同的名字存儲,比如ifcfg-enp0s3。
讓我們看下ifcfg-enp0s3的細節。
cat /etc/sysconfig/network-scripts/ifcfg-enp0s3示例輸出:
TYPE="Ethernet" BOOTPROTO="none" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" NAME="enp0s3" UUID="e9f9caef-cb9e-4a19-aace-767c6ee6f849" ONBOOT="yes" HWADDR="08:00:27:80:63:19" IPADDR0="192.168.1.150" PREFIX0="24" GATEWAY0="192.168.1.1" DNS1="192.168.1.1" IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes"好的,現在我們將在相同的子網中分配多個地址了。
編輯文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3:
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3像下面那樣加入額外的IP地址。
TYPE="Ethernet" BOOTPROTO="none" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" NAME="enp0s3" UUID="933cdc9b-b383-4ddd-b219-5a72c69c9cf0" ONBOOT="yes" HWADDR="08:00:27:3F:AB:68" IPADDR0="192.168.1.150" IPADDR1="192.168.1.151" IPADDR2="192.168.1.152" PREFIX0="24" GATEWAY0="192.168.1.1" DNS1="192.168.1.1" IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes"如你所見,我已經加了兩個IP地址:IPADDR1=”192.168.1.151″ & IPADDR2=”192.168.1.152″
類似地,你可以加入更多的ip地址。
最後,保存並退出文件。重啟網絡服務來使更改生效。
systemctl restart network現在,讓我們檢查是否已經加入了ip地址。
ip addr
示例輸出:
: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:3f:ab:68 brd ff:ff:ff:ff:ff:ff inet 192.168.1.150/24 brd 192.168.1.255 scope global enp0s3 valid_lft forever preferred_lft forever inet 192.168.1.151/24 brd 192.168.1.255 scope global secondary enp0s3 valid_lft forever preferred_lft forever inet 192.168.1.152/24 brd 192.168.1.255 scope global secondary enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe3f:ab68/64 scope link valid_lft forever preferred_lft forever
如你所見,單個網卡已經有3個ip地址了。
讓我們ping一下新增的IP地址:
ping -c 4 192.168.1.151
示例輸出:
PING 192.168.1.151 (192.168.1.151) 56(84) bytes of data. 64 bytes from 192.168.1.151: icmp_seq=1 ttl=64 time=0.048 ms 64 bytes from 192.168.1.151: icmp_seq=2 ttl=64 time=0.075 ms 64 bytes from 192.168.1.151: icmp_seq=3 ttl=64 time=0.077 ms 64 bytes from 192.168.1.151: icmp_seq=4 ttl=64 time=0.077 ms --- 192.168.1.151 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2999ms rtt min/avg/max/mdev = 0.048/0.069/0.077/0.013 ms
ping -c 4 192.168.1.152
示例輸出:
PING 192.168.1.152 (192.168.1.152) 56(84) bytes of data. 64 bytes from 192.168.1.152: icmp_seq=1 ttl=64 time=0.034 ms 64 bytes from 192.168.1.152: icmp_seq=2 ttl=64 time=0.075 ms 64 bytes from 192.168.1.152: icmp_seq=3 ttl=64 time=0.073 ms 64 bytes from 192.168.1.152: icmp_seq=4 ttl=64 time=0.075 ms --- 192.168.1.152 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2999ms rtt min/avg/max/mdev = 0.034/0.064/0.075/0.018 ms
如果你想要使用不同的子網,你要改變PREFIX0=24成不同的子網,比如 PREFIX1=16。
比如,我想要添加一個A類地址(*比如10.0.0.1)到我的網卡中。
TYPE="Ethernet" BOOTPROTO="none" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" NAME="enp0s3" UUID="933cdc9b-b383-4ddd-b219-5a72c69c9cf0" ONBOOT="yes" HWADDR="08:00:27:3F:AB:68" IPADDR0="192.168.1.150" IPADDR1="192.168.1.151" IPADDR2="192.168.1.152" IPADDR3="10.0.0.1" PREFIX0="24" PREFIX1=16 GATEWAY0="192.168.1.1" DNS1="192.168.1.1" IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes"你可以看到我已經添加一個A類地址(10.0.0.1)並且前綴是16。
保存並退出文件。重啟網絡服務,接著,ping新增的地址:
ping -c 4 10.0.0.1
示例輸出:
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data. 64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.097 ms 64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.073 ms 64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.074 ms 64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=0.075 ms --- 10.0.0.1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3000ms rtt min/avg/max/mdev = 0.073/0.079/0.097/0.014 ms
相似地,你可以添加不同的網關。
譯文:http://linux.cn/article-5127-1.html