当前位置: 首页 > 编程笔记 >

在CentOS 7上给一个网卡分配多个IP地址的方法

水品
2023-03-14
本文向大家介绍在CentOS 7上给一个网卡分配多个IP地址的方法,包括了在CentOS 7上给一个网卡分配多个IP地址的方法的使用技巧和注意事项,需要的朋友参考一下

有时你也许想要给一个网卡多个地址。你该怎么做呢?另外买一个网卡来分配地址?在小型网络中其实不用这么做。我们现在可以在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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍在tomcat将一个IP地址绑定多个域名的方法,包括了在tomcat将一个IP地址绑定多个域名的方法的使用技巧和注意事项,需要的朋友参考一下 在server.xml中<Engine></Engine>下添加2个host就可以了。 

  • 问题内容: 不熟悉Unix网络,添加虚拟接口等,现在尝试学习。我们正在尝试对我们的应用程序进行docker化。 我的要求是:将ip分配给可从外部应用程序/浏览器访问的docker容器。 容器ip应该基本上可以从同一网络中的其他计算机ping通。我不想使用端口转发。 我想访问docker容器,就像我们使用ip地址访问VM。没有端口映射,-p标志。如果我在容器中运行任何服务器,例如Apache或Tom

  • 本文向大家介绍Nginx单IP地址配置多个SSL证书的方法示例,包括了Nginx单IP地址配置多个SSL证书的方法示例的使用技巧和注意事项,需要的朋友参考一下 默认情况下,Nginx一个IP地址仅支持一个SSL证书,需要多个IP地址才能配置多个SSL证书,在公网IP地址有限的情况下,可以使用TLS Server Name Indication extension(SNI, RFC 6066),它允

  • 本文向大家介绍虚拟机里Centos7的IP地址查看方法,包括了虚拟机里Centos7的IP地址查看方法的使用技巧和注意事项,需要的朋友参考一下 这里之所以是查看下IP ,是我们后面要建一个Centos远程工具Xshell 连接Centos的时候,需要IP地址,所以我们这里先 学会查看虚拟机里的Centos7的IP地址 首先我们登录操作系统 用户名root 密码 123456 然后我们输入ip查询命

  • 本文向大家介绍PowerShell脚本实现网卡DHCP自动获取IP地址、设置静态IP地址的方法,包括了PowerShell脚本实现网卡DHCP自动获取IP地址、设置静态IP地址的方法的使用技巧和注意事项,需要的朋友参考一下 PowerShell设置DHCP自动获取IP地址,PowerShell可以很方便的设置本地计算机启用DHCP来动态获取IP地址,这需要用到WMI扩展。本文介绍详细的脚本程序。

  • Python标准库的< code >套接字方法有一个源地址选项,用于控制连接使用哪个源IP。 给定一台有多个地址的机器,我如何使用Python ZeroMQ套接字做同样的事情? 在这种情况下,我一直在使用Linux的iproute2 ip addr 地址和ZeroMQ 套接字原型。