采用什么办法可以使得发送包的时候从那个接口进来就从那个接口出去

发布于 2022-07-24 03:04:50 字数 1879 浏览 12 评论 3

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=220.231.180.153
NETMASK=255.255.255.128
GATEWAY=220.231.180.129

DEVICE=eth0:1
ONBOOT=yes
BOOTPROTO=static
IPADDR=220.112.40.153
NETMASK=255.255.255.128
GATEWAY=220.112.40.129

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
61.141.228.31   *               255.255.255.255 UH    0      0        0 eth0
220.112.40.128  *               255.255.255.128 U     0      0        0 eth0
220.231.180.128 *               255.255.255.128 U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         220.231.180.129 0.0.0.0         UG    0      0        0 eth0

现在tcp 连接220.231.180.153,客户端看到服务器回来的ip是220.231.180.153;
tcp 连接220.112.40.153,客户端看到服务器回来的ip是220.112.40.153;

但是udp连接220.231.180.153,220.112.40.153,客户端看到服务器回来的ip都是220.231.180.153,现在希望和tcp一样能够识别来源,我该在哪一层做点什么,iptables,route?

[ 本帖最后由 g0ose 于 2006-10-20 17:35 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

三生一梦 2022-07-27 15:41:26

我想是我没有描述清楚,现在再详细描述一下情况和我的分析.
目前采用的业务是双线合一,isp提供智能路由.所以电信访问电信的ip,和网通访问网通的都很快,我没有必要做策略路由.就算做的话,精确度达不到要求.而且采用tcp的协议不会有问题.
但是如果是udp协议,那么如果我发给220.112.40.153的包,服务器在填写自己ip的时候,就默认填写了220.231.180.153的地址,因为它和默认网关是同一个网段的.[tcp就能够识别来源,并绑定正确的接口地址]现在问题就来了,这个包也会到达我的adsl上,如果这个adsl采用的是对称nat的话,那么这个包就会被adsl抛弃!,所以我只希望从eth0:1进去的包,回来的时候也填写eth0:1的ip地址(220.112.40.153).请问这种需求用iptables的snat可以做到吗?我对iptables的了解还不够.
iptables -t nat -A POSTROUTING -p udp -i eth0:1 --dport 1111 -j SNAT --to-source 220.112.40.153,这种写法是有问题的.

木森分化 2022-07-27 15:18:44

二楼已经说了的。
不信的话多翻老贴

昨迟人 2022-07-27 15:10:57

网络层上做策略路由

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文