linux网络通讯的虚拟IP的开发设计(双IP的开发)

2023-05-16

虚拟IP

即在一个物理IP(比如这个IP为192.168.2.29)的基础上,绑定其他的IP(比如192.168.1.xxx),用windows的话说,就是为一个网卡配置多个ip。那么,什么场合增加ip别名能派上用场?
布网需要、多ip访问测试、特定软件对多ip的需要...and so on.

1.先在终端上测试一下虚拟ip的可行性

(1)第一种方法-直接修改接口文件interfaces--一般在首目录-使用 vim /etc/network/interfaces,就可以打开

也有其他不在这个地方,见如下例子

参照博客:https://blog.csdn.net/zwl18210851801/article/details/81455343

(2)第二种方法-推荐

如下是我在我的开发板如下操作:

设置IP-0:ifconfig enp1s0:0 192.168.2.100 netmask 255.255.255.0 up

(这是多开一个,如果开多个就改动 enp1s0:0/1/2/3/4,IP对应改动

取消设置IP-0:ifconfig enp1s0:0 192.168.2.100 netmask 255.255.255.0 dowm

参考:https://blog.csdn.net/rejoy_liu/article/details/71254357

2.代码实现

前提:

     你要先调通TCP的物理ip的驱动,然后在考虑第二个IP的驱动开发;如果不了解物理IP的驱动开发,可以参考我的前面的博客:https://blog.csdn.net/xiaoxilang/article/details/80839797,linux对驱动很简单,我有总结好的-SBLARWRC

经验:

    虚开的第2/3/4..个IP不要与物理IP处在同一个网段(比如物理ip为192.168.2.105,再开一个是192.168.2.100,我上面开的一个就是同网段的IP,导致我虚开的ip无法通讯,废了很大力气才发现该问题-要解决该问题-涉及到底层的改动),否则信息会首先跟物理IP通讯;虚开的ip无法通讯!

(1).初始化-包含tcp-SBL三个步骤和线程开启

 

(2)线程

发送也要相应修改~

依据需求,可以动态修改IP;

测试结果!

 

TCP 基本通讯无误!(下方有一个发送失败,是因为物理ip的tcp的端口没有打开,所以发送失败了!)

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux网络通讯的虚拟IP的开发设计(双IP的开发) 的相关文章

随机推荐