千家信息网

Linux源进源出与iproute2

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,最近在给客户做解决方案的时候遇到这么一个场景也给自己埋了个坑这里记录一下。具体需求如下现在客户国内服务器和国外的防火墙已经内网打通客户在国内有台WEB服务器要通过国外的一台防火墙访问外网需要从国外防火
千家信息网最后更新 2026年11月03日Linux源进源出与iproute2

最近在给客户做解决方案的时候遇到这么一个场景也给自己埋了个坑这里记录一下。

具体需求如下

  1. 现在客户国内服务器和国外的防火墙已经内网打通

  2. 客户在国内有台WEB服务器要通过国外的一台防火墙访问外网

  3. 需要从国外防火墙上能够回源到国内的WEB服务器即能够通过防火墙访问到WEB服务的80端口

  4. 国内WEB服务器有自己的公网地址需要能够进行管理

因为一开始客户没有提出第3条要回源的需求当时给客户设计的方案是

  1. 把客户国内机器的默认路由扔给国外的防火墙

  2. 国外防火墙上做SNAT把来自内网网段的流量映射出去。

3. 在国内机器上添加静态路由把客户的管理网段扔给国内的网关。

大致拓扑图如下

这里有一点因为无法确定客户国内的管理地址网段所以在国内WEB服务器C上刷了一个全国路由表的静态路由默认路由优先级低于静态路由所以国内用户访问C的时候还是通过国内的网关出TCP连接能够正常建立。

然而这时候客户又提出需要从国外服务器上进行回源测试一下回源的质量也就是要通过防火墙访问到WEB服务的80端口。我心想这个简单呀在防火墙上做一个DNAT映射把访问防火墙80端口的映射给WEB服务器的80端口上。于是说干就干.....做完配置之后进行测试瞬间懵逼了我在办公网国内地址测试防火墙的80端口死活不通一直报错"TIMEOUT"直接测试国内服务器的外网地址的80端口和内网地址的80端口是OK的也就是说web服务访问正常但为什么我访问防火墙的80端口不行呢

于是进行各种测试折腾半天发现一个现象能从国外正常访问防火墙80端口而国内不可以。抓包的时候发现WEB服务器已经收到了我的http请求而且已经进行了回包但是服务器的回包并没有和我正常建立连接。看现象应该是断在了TCP的第二次和第三次握手中间。

这时候才恍然大悟为什么TCP连接没有建立呢因为我是国内地址发起的防火墙80访问通过防火墙请求到后端WEB服务器的时候因为服务器上有国内的路由回包的时候是从国内网关出的而不是从防火墙出了导致回包的源地址变成了国内网关地址所以TCP连接建立不起来了。通俗解释就是A发出请求访问B结果D给做出了回应A认为不是他想要的所以不认了TCP连接建立不起来。图解如下

为了解决这个问题总结一句话就是需要解决源进源出的问题从哪个口进来的流量让他从哪个口出去。因为WEB服务器C相当于有两个网关出口就需要在C上控制流量的走向。于是这里想到了可以通过iproute2或iptables来实现我这里其实本质上还是路由的控制所以用iproute2来实现显得更为合理而且性能效果上会更好。

简单介绍下iproute2:

iproute2是linux下管理控制TCP/IP网络和流量控制的新一代工具包旨在替代老派的工具链net-tools即大家比较熟悉的ifconfigarproutenetstat等命令。两套工具本质的区别,是net-tools是通过procfs(/proc)和ioctl系统调用去访问和改变内核网络配置而iproute2则通过netlink套接字接口与内核通讯。

我这里的解决办法如下:

假设我的国内WEB服务器的外网地址是192.168.1.254/30GW:192.168.1.253。

内网地址192.168.10.2 Default GW192.168.10.1

  1. 保持默认路由10.1不变还是通过国外防火墙出网。

  2. 在WEB服务器上新建路由表"china",添加策略如下

# echo "1 china" >> cat /etc/iproute2/rt_tables# ip route add 192.168.1.252/30 dev em1 src 192.168.1.254 table china# ip route add default via 192.168.1.253 dev em1 table china# ip rule add from 192.168.1.254 table china

3. 删除之前添加的全国路由表。

4. 可以把路由策略写进网卡或者rc.local配置文件里保证开机后依然生效。

最后:附一个iproute2的51cto上翻译的参考链接地址:

http://os.51cto.com/art/201409/450886.htm

服务 防火 服务器 防火墙 路由 地址 客户 端口 时候 网关 测试 流量 控制 管理 工具 网段 还是 静态 配置 也就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云信互联网科技有限公司 互联网科技活动banner 互联网金融监管科技数据 互联网金融公司科技 以房互联网科技 互联网女皇 腾讯科技 厦门比较好的科技互联网公司 互联网还是高科技吗 崇明区互联网教育科技诚信经营 电子科技大学互联网创业大赛 工业互联网展湾科技股份有限公司 科技互联网的核心竞争力 上海科技产业互联网平台 广东工业互联网大赛深圳学泰科技 广州梦谷互联网科技有限公司领导 广州三三互联网科技有限公司 第三届互联网大会安防黑科技 科技互联网专业工作会议发言稿 互联网高科技绘画 互联网科技企业文化 中国互联网科技股 互联网扶贫科技 没上市的科技互联网公司 宜安科技 互联网金融 壹账通互联网科技 互联网巨头投资的硬核科技 阿大互联网科技有限公司 城市宝互联网科技有限公司 昆明中奇联合互联网科技 科技信息时代互联网发展
0