我们在实际应用中,有些设备连接局域网时,可能需要一个网卡设置两个IP地址,以便同时获取设备信息和上网。
假设现在需要给服务器的第一块网卡eno1添加多个IP地址对应两个网段,可以按如下进行操作。
在 CentOS 7 中,我们可以为单个网卡配置多个 IP 地址。这种配置在需要将一台服务器用于多个网络环境时非常有用,例如,一个用于管理,另一个用于生产环境。以下是如何为单网卡配置多个 IP 地址的步骤:
1. 打开网络配置文件
CentOS7网络配置文件通常位于/etc/sysconfig/network-scripts/目录下,具体的文件名与网卡名称相关,例如ifcfg-eno1。
我们使用文本编辑器打开网络配置文件。
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
这里 eth0 是网卡的名称,可能根据你的系统和网卡有所不同。
2. 添加 IP 地址
在文件中,你可以看到类似以下的配置:
makefile
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp
如果你想要添加静态 IP 地址,需要修改 BOOTPROTO 参数,并添加 IPADDR, NETMASK, 和 GATEWAY 参数。例如,可以这样配置:
BOOTPROTO=static
IPADDR=192.168.1.100/24
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
IPADDR2=192.168.2.100/24
NETMASK2=255.255.255.0
GATEWAY2=192.168.2.1
这里,IPADDR 和 NETMASK 定义了第一个 IP 地址和子网掩码,GATEWAY 是默认网关。IPADDR2, NETMASK2, 和 GATEWAY2 是第二个 IP 地址的配置。
3. 重启网络服务
保存并关闭文件后,你需要重启网络服务以使更改生效:
sudo systemctl restart network
验证配置
你可以使用 ip addr 或 ifconfig 命令来验证新的 IP 地址是否已经生效:
ip addr show eth0
或
ifconfig eth0
这会显示网卡和所有配置的 IP 地址。
5. 防火墙设置
开启防火墙的情况下,需要确保为每个 IP 地址打开所需的端口和服务。可以使用 firewall-cmd 命令来管理规则。例如,为 IP 地址 192.168.1.100 打开 TCP 端口 80:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
测试连接
现在,应该能够从服务器上的每个 IP 地址访问网络。可以ping一下对方ip地址,看是否畅通。