zoukankan      html  css  js  c++  java
  • 在CentOS 7上给一个网卡分配多个IP地址

    有时你也许想要给一个网卡多个地址。你该怎么做呢?另外买一个网卡来分配地址?在小型网络中其实不用这么做。我们现在可以在CentOS/RHEL 7中给一个网卡分配多个ip地址。想知道怎么做么?好的,跟随我,这并不难。

    首先,让我们找到网卡的IP地址。在我的CentOS 7服务器中,我只使用了一个网卡。

    用root特权运行下面的命令:

    1. ip addr

    示例输出:

    1. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    2. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    3. inet 127.0.0.1/8 scope host lo
    4. valid_lft forever preferred_lft forever
    5. inet6 ::1/128 scope host
    6. valid_lft forever preferred_lft forever
    7. 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    8. link/ether 08:00:27:80:63:19 brd ff:ff:ff:ff:ff:ff
    9. inet 192.168.1.150/24 brd 192.168.1.255 scope global enp0s3
    10. valid_lft forever preferred_lft forever

    如上所见,我的网卡名是enp0s3,ip地址是192.168.1.150。

    如你所知,网卡的配置文件存储在 /etc/sysconfig/network-scripts/ 目录下。每个网卡的详细内容将会以不同的名字存储,比如ifcfg-enp0s3。

    让我们看下ifcfg-enp0s3的细节。

    1. cat /etc/sysconfig/network-scripts/ifcfg-enp0s3

    示例输出:

    1. TYPE="Ethernet"
    2. BOOTPROTO="none"
    3. DEFROUTE="yes"
    4. IPV4_FAILURE_FATAL="no"
    5. IPV6INIT="yes"
    6. IPV6_AUTOCONF="yes"
    7. IPV6_DEFROUTE="yes"
    8. IPV6_FAILURE_FATAL="no"
    9. NAME="enp0s3"
    10. UUID="e9f9caef-cb9e-4a19-aace-767c6ee6f849"
    11. ONBOOT="yes"
    12. HWADDR="08:00:27:80:63:19"
    13. IPADDR0="192.168.1.150"
    14. PREFIX0="24"
    15. GATEWAY0="192.168.1.1"
    16. DNS1="192.168.1.1"
    17. IPV6_PEERDNS="yes"
    18. IPV6_PEERROUTES="yes"

    好的,现在我们将在相同的子网中分配多个地址了。

    编辑文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3:

    1. vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

    像下面那样加入额外的IP地址。

    1. TYPE="Ethernet"
    2. BOOTPROTO="none"
    3. DEFROUTE="yes"
    4. IPV4_FAILURE_FATAL="no"
    5. IPV6INIT="yes"
    6. IPV6_AUTOCONF="yes"
    7. IPV6_DEFROUTE="yes"
    8. IPV6_FAILURE_FATAL="no"
    9. NAME="enp0s3"
    10. UUID="933cdc9b-b383-4ddd-b219-5a72c69c9cf0"
    11. ONBOOT="yes"
    12. HWADDR="08:00:27:3F:AB:68"
    13. IPADDR0="192.168.1.150"
    14. IPADDR1="192.168.1.151"
    15. IPADDR2="192.168.1.152"
    16. PREFIX0="24"
    17. GATEWAY0="192.168.1.1"
    18. DNS1="192.168.1.1"
    19. IPV6_PEERDNS="yes"
    20. IPV6_PEERROUTES="yes"

    如你所见,我已经加了两个IP地址:IPADDR1=”192.168.1.151″ & IPADDR2=”192.168.1.152″

    类似地,你可以加入更多的ip地址。

    最后,保存并退出文件。重启网络服务来使更改生效。

    1. systemctl restart network

    现在,让我们检查是否已经加入了ip地址。

    1. ip addr

    示例输出:

    1. : lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    2. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    3. inet 127.0.0.1/8 scope host lo
    4. valid_lft forever preferred_lft forever
    5. inet6 ::1/128 scope host
    6. valid_lft forever preferred_lft forever
    7. 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    8. link/ether 08:00:27:3f:ab:68 brd ff:ff:ff:ff:ff:ff
    9. inet 192.168.1.150/24 brd 192.168.1.255 scope global enp0s3
    10. valid_lft forever preferred_lft forever
    11. inet 192.168.1.151/24 brd 192.168.1.255 scope global secondary enp0s3
    12. valid_lft forever preferred_lft forever
    13. inet 192.168.1.152/24 brd 192.168.1.255 scope global secondary enp0s3
    14. valid_lft forever preferred_lft forever
    15. inet6 fe80::a00:27ff:fe3f:ab68/64 scope link
    16. valid_lft forever preferred_lft forever

    如你所见,单个网卡已经有3个ip地址了。

    让我们ping一下新增的IP地址:

    1. ping -c 4 192.168.1.151

    示例输出:

    1. PING 192.168.1.151 (192.168.1.151) 56(84) bytes of data.
    2. 64 bytes from 192.168.1.151: icmp_seq=1 ttl=64 time=0.048 ms
    3. 64 bytes from 192.168.1.151: icmp_seq=2 ttl=64 time=0.075 ms
    4. 64 bytes from 192.168.1.151: icmp_seq=3 ttl=64 time=0.077 ms
    5. 64 bytes from 192.168.1.151: icmp_seq=4 ttl=64 time=0.077 ms
    6. --- 192.168.1.151 ping statistics ---
    7. 4 packets transmitted, 4 received, 0% packet loss, time 2999ms
    8. rtt min/avg/max/mdev = 0.048/0.069/0.077/0.013 ms

    1. ping -c 4 192.168.1.152

    示例输出:

    1. PING 192.168.1.152 (192.168.1.152) 56(84) bytes of data.
    2. 64 bytes from 192.168.1.152: icmp_seq=1 ttl=64 time=0.034 ms
    3. 64 bytes from 192.168.1.152: icmp_seq=2 ttl=64 time=0.075 ms
    4. 64 bytes from 192.168.1.152: icmp_seq=3 ttl=64 time=0.073 ms
    5. 64 bytes from 192.168.1.152: icmp_seq=4 ttl=64 time=0.075 ms
    6. --- 192.168.1.152 ping statistics ---
    7. 4 packets transmitted, 4 received, 0% packet loss, time 2999ms
    8. rtt min/avg/max/mdev = 0.034/0.064/0.075/0.018 ms

    如果你想要使用不同的子网,你要改变PREFIX0=24成不同的子网,比如 PREFIX1=16。

    比如,我想要添加一个A类地址(*比如10.0.0.1)到我的网卡中。

    1. TYPE="Ethernet"
    2. BOOTPROTO="none"
    3. DEFROUTE="yes"
    4. IPV4_FAILURE_FATAL="no"
    5. IPV6INIT="yes"
    6. IPV6_AUTOCONF="yes"
    7. IPV6_DEFROUTE="yes"
    8. IPV6_FAILURE_FATAL="no"
    9. NAME="enp0s3"
    10. UUID="933cdc9b-b383-4ddd-b219-5a72c69c9cf0"
    11. ONBOOT="yes"
    12. HWADDR="08:00:27:3F:AB:68"
    13. IPADDR0="192.168.1.150"
    14. IPADDR1="192.168.1.151"
    15. IPADDR2="192.168.1.152"
    16. IPADDR3="10.0.0.1"
    17. PREFIX0="24"
    18. PREFIX1=16
    19. GATEWAY0="192.168.1.1"
    20. DNS1="192.168.1.1"
    21. IPV6_PEERDNS="yes"
    22. IPV6_PEERROUTES="yes"

    你可以看到我已经添加一个A类地址(10.0.0.1)并且前缀是16。

    保存并退出文件。重启网络服务,接着,ping新增的地址:

    1. ping -c 4 10.0.0.1

    示例输出:

    1. PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
    2. 64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.097 ms
    3. 64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.073 ms
    4. 64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.074 ms
    5. 64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=0.075 ms
    6. --- 10.0.0.1 ping statistics ---
    7. 4 packets transmitted, 4 received, 0% packet loss, time 3000ms
    8. rtt min/avg/max/mdev = 0.073/0.079/0.097/0.014 ms

    相似地,你可以添加不同的网关。

    就是这样。


    via: http://www.unixmen.com/linux-basics-assign-multiple-ip-addresses-single-network-interface-card-centos-7/

    作者:SK 译者:geekpi 校对:wxy

    本文由 LCTT 原创翻译,Linux中国 荣誉推出

  • 相关阅读:
    【小模块】公告滚动并暂停
    w3school的PHP教程提炼(一)PHP基础
    Nicholas C. Zakas:介紹CSS Lint(检测工具)
    【小模块】回到顶部的页面跟随按钮(仿淘宝)
    【小模块】内容循环滚动(仿新浪微博未登录首页滚动微博显示)
    前端管窥:图片Sprite管理
    《锋利的jQuery》要点归纳(六)插件的使用和写法
    CSS reset 一份很全的样式表
    《锋利的jQuery》要点归纳(五)jQuery与ajax的应用(上)
    《锋利的jQuery》要点归纳(五)jQuery与ajax的应用(下)
  • 原文地址:https://www.cnblogs.com/weifeng1463/p/6805708.html
Copyright © 2011-2022 走看看