Linux环境下配置虚拟ip,方法2:单网卡绑定多IP

您所在的位置:网站首页 linux一个网卡多个ip Linux环境下配置虚拟ip,方法2:单网卡绑定多IP

Linux环境下配置虚拟ip,方法2:单网卡绑定多IP

2023-12-14 12:56| 来源: 网络整理| 查看: 265

http://blog.csdn.net/u010028869/article/details/50574907

写这篇博客是因为,后面在使用keepalived 实现Nginx高可用时 需要用到这项技术。虚拟ip在高可用中的作用后续再说。今天看看怎么给服务器配置虚拟IP,其实也就是多分配个IP地址。

① 首先查看一下现有网卡的IP地址,用root特权运行下面的命令:

ip addr

示例输出:

这里写图片描述

从上面的详细信息中,可以看到服务器的网卡名是eno16777736,ip地址是192.168.22.227。

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

② 打开此配置文件,并且再添加一个IP地址

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

vi /etc/sysconfig/network-scripts/ifcfg-eno16777736

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

这里写图片描述

这样就添加了一个IP地址:IPADDR1=”192.168.22.231″当然,也可以添加更多的ip地址。  IPADDR2=”192.168.22.232″…

最后,保存并退出文件。快捷键:shift+z+z

重启网络服务来使更改生效。

systemctl restart network

③ 检查一下是否已经加入了ip地址。(ifconfig看不到多IP)

输入命令:

ip addr

示例输出:

这里写图片描述

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

------------------------------------------

一、firecat注:其实这个方法就是:

当服务器出现多IP时,TCP listen怎么工作?我的C语言版本的TCP服务器程序,绑定地址写INADDR_ANY,意味着两个IP都同时支持客户端接入。

[html]  view plain  copy bzero(&servaddr,sizeof(servaddr));   servaddr.sin_family = AF_INET;   servaddr.sin_addr.s_addr = htonl(INADDR_ANY);   servaddr.sin_port = htons(port);   if (bind(listenfd,(struct sockaddr*)&servaddr,sizeof(servaddr)) == -1)  

[root@localhost ~]# netstat -nalp|grep 1883 tcp        0      0 0.0.0.0:1883            0.0.0.0:*               LISTEN      6333/epltest

如果绑定地址分别写172.16.6.161和172.16.6.162,则

[root@localhost ~]# netstat -nalp|grep 1883 tcp        0      0 172.16.6.161:1883       0.0.0.0:*               LISTEN      6723/epltest         tcp        0      0 172.16.6.162:1883       0.0.0.0:*               LISTEN      6688/epltest        

说明1883端口可以分别被不同IP使用。

二、两篇博客的总结

1、问:“虚IP:eth0:1 这一类”和“在现有的IP里增加了一个IP地址,也就是多ip,ipadd1=....” 这两种说法是一回事吗? 答:本质是一样的吧,不过第一种比较规范,多网卡的时候格式更统一,可以通过冒号前面的数字区分网卡,所以推荐第一种 2、方法简述

(1)方法1

网卡上增加一个IP: ifconfig eth0:1 192.168.0.1 netmask 255.255.255.0 删除网卡的第二个IP地址: ip addr del 192.168.0.1 dev eth0 这种方式增加的虚拟IP,可以通过ifconfig查看 (2)方法2 另一种增加虚拟IP的方法(ifconfig查看不到): 增加虚拟IP: ip -f inet addr add 192.168.146.229/32 brd 192.168.146.229 dev eth0 查看虚拟IP: ip -f inet addr 删除虚拟IP: ip -f inet addr delete 192.168.146.229/32 brd 192.168.146.229 dev eth0

---

推荐好文:

http://blog.csdn.net/u010028869/article/category/6097956

http://blog.csdn.net/u010028869/article/category/6097959



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3