linux跨网段实现内网互通_docker跨主机通信

linux跨网段实现内网互通_docker跨主机通信1.简介TCP协议规定只有处于同一个网段的IP才能实现互通,如果处于不同网段,可以配置一台双网卡机器为网关然后指定路由线路实现跨网段访问。实现思路:将双网卡服务器作为一个代理服务器,实现双向网关的一个功能如上图所示,Proxy作为双向网关Client如果要实现Server的互通,如果Client和Server在同一个子网段可以直接ping同,但是如果不在同一个网段,Client就会先去找其网关,再由其网关寻找Server,对于Server也是这样。2.实现方案2.1代理1.开启数据包的转发功

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1.简介
在这里插入图片描述

TCP协议规定只有处于同一个网段的IP才能实现互通,如果处于不同网段,则需要借助于所属的网关,即我们可以配置一台双网卡机器作为网关,然后指定路由线路实现跨网段访问。

实现思路:将双网卡服务器作为一个代理服务器,实现双向网关的一个功能
如上图所示,Proxy作为双向网关
Client如果要实现Server的互通,如果Client和Server在同一个子网段可以直接ping同,但是如果不在同一个网段,Client就会先去找其网关,再由其网关寻找Server,对于Server也是这样。
2.实现方案
2.1 代理
1.开启数据包的转发功能

代理服务器打开终端执行如下命令

echo 1 >/proc/sys/net/ipv4/ip_forward

默认值0是禁止数据包转发,修改为1即开启数据包转发功能。如果提示无权限,可以使用vi或者gedit工具打开ip_forward文件直接修改。

2.2 设置路由表
用到的几个命令如下所示

新增静态路由sudo route add -net ip dev 网卡
删除静态路由sudo route del-net ip dev 网卡

具体配置方法:

  1. 代理服务器中新增发往Server端的路由表

    sudo route add -net 10.168.9.0 netmask 255.255.255.0 dev eth1 
    

    这条路由表的含义就是发往10.168.9.0/24网段的数据包都由eth1网卡发出

  2. 代理服务器中新增发往Client端的路由表

    sudo route add -net 192.168.1.0/24 netmask 255.255.255.0 dev eth0
    

    这条路由表的含义就是发往192.168.1.0/24网段的数据包都由eth0网卡发出

  3. Client服务器中设置网关为192.168.1.1

    sudo route add default gw 192.168.1.1
    

    设置之后就表示当Client端连接其他网段(非Client子网)时,就会找到192.168.1.1,进而使用192.168.1.1进行连接

    注意:

    网关只能设置为同一网段的其他IP;
    如果只是设置了网关但是没有在代理服务器中指定路由表(即步骤1,2),则Client端可以ping通代理上面的两张网卡,但是不能ping通10.168.1.xx的其他子网,即不能ping通Server端

  4. Server端设置网关为10.168.9.1

    sudo route add defaultgw 10.168.9.1
    

    以上步骤执行之后则可以互相ping通

3 永久配置方案
上面的步骤只能在终端中有效,平时测试没有问题,但是如果是工程实际应用中则需要进行永久配置

  1. 代理服务器需首先配置允许转发

    sudo vim /etc/sysctl.conf 
    net.ipv4.ip_forward=1
    

    在这里插入图片描述

  2. 代理服务器配置静态路由

    # vi /etc/rc.local
    

    然后将上一步的路由命令写入到该文件。

    sudo route add -net 10.168.9.0 netmask 255.255.255.0 dev eth1 
    sudo route add -net 192.168.1.0/24 netmask 255.255.255.0 dev eth0
    
  3. client、server端分别配置静态路由规则
    client:

    # vi /etc/rc.local
    

    然后将上一步的路由命令写入到该文件。

    sudo route add default gw 192.168.1.1
    

    server:

    # vi /etc/rc.local
    

    然后将上一步的路由命令写入到该文件。

    sudo route add default gw 10.168.9.1
    

    重启后即生效。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194944.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 模糊pid控制算法matlab_matlab模糊控制器

    模糊pid控制算法matlab_matlab模糊控制器上一篇写了模糊自整定PID的理论,这篇来做MATLAB仿真。目录补充内容:如何计算临界稳定下的开环增益Ku和震荡周期TuMATLAB进行模糊PID仿真1、准备工作2、模糊控制器的设计补充内容:如何计算临界稳定下的开环增益Ku和震荡周期Tu学过控制工程或者相关理论的同学应该比较了解,判断系统稳定性的条件一般用到劳斯表(劳斯判据)。而PID控制和模糊PI…

    2022年5月3日
    61
  • java list 转json 字符串_fastjson将java list转为json字符串

    java list 转json 字符串_fastjson将java list转为json字符串1.直接用fastjson的静态方法stringJSON.toJSONString(list)方法就行,JSON.toJSONString(list)将javalist转为json字符串。2.toJsonString()方法,有两个重载,一个是JSON.toJsonString(list),直接将list转为json字符串:[{\”aid\”:10056,\”content_text\”:\”…

    2022年10月18日
    4
  • Wireshark抓包详解[通俗易懂]

    Wireshark抓包详解[通俗易懂]简述wireshark是非常流行的网络封包分析工具,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。 wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshar

    2025年9月25日
    7
  • C语言位运算符_C语言左移和右移的区别

    C语言位运算符_C语言左移和右移的区别如果你想了解以下位运算符的话我想你来对了地方&^|~<<>>首先明确位运算符都是在二进制位上运算的先讲比较简单的<<>>(有些人可能认为这个最难以理解包括我)后来我陡然一时想到了十进制左移“<<”右移“>>”十进制10左移三位就是乘以10的3次方=1000010右…

    2022年10月5日
    2
  • C/C++指针详解之基础篇(史上最全最易懂指针学习指南!!!!)「建议收藏」

    C/C++指针详解之基础篇(史上最全最易懂指针学习指南!!!!)「建议收藏」目录一.变量的内存实质到1.1变量的实质1.2赋值给变量1.3变量在哪里?二.指针是个什么东西?三.二级指针(指针的指针)3.1定义与初始化3.2间接数据访问3.2.1.改变一级指针指向3.2.2改变N-1级指针的指向3.2.3二级指针的步长四.指针与数组4.1指针与数组名4.1.1通过数组名访问数组元素4….

    2022年5月22日
    38
  • 站长工具之在线检测网页错误

    站长工具之在线检测网页错误网页代码测试工具  没有站长可以保证自己的网页代码完全正确没有任何错误,特别是是否符合W3C标准,你可以通过以下测试来检查网站代码是否正确,无论你是asp的还是php的都可以哟。  1.http://www.htmlhelp.com/tools/validator一个很好的工具,能找出网站语法错误的地方,并标注出来,也可选择对网站上单独的每一页进行单页分析。(强烈推荐)

    2022年7月22日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号