iptables 打mark 标记

发布于 2022-07-26 23:59:32 字数 816 浏览 27 评论 3

一台网关3块网卡,2块接外网(eth0,eth1),一块接内网(eth2), 内网ip段为192.168.0.0/24
eth0: 10.11.12.13
eth1: 20.21.22.23

eth2: 192.168.0.1

此网关默认路由是10.11.12.13

有2个路由表main和adsl
main表的默认路由是10.11.12.13
adsl表的默认路由是20.21.22.23

我现在想控制内网的某台机器192.168.0.5不走10.11.12.13路由,而走20.21.22.23路由
于是在iptables中添加 iptables -t mangle -A PREROUTING -i eth2 -s 192.168.0.5 -j MARK --set-mark 0x1
并且执行ip rule add fwmark 0x1 table adsl

发现192。168。0。5不能上网

但是如果我不添加ip rule add fwmark 0x1 table adsl 规则
改为添加ip rule add from 192.168.0.5 table adsl,此时192.168.0.5能上网

困惑: 为什么同样是走adsl表,打了标签后,却不能上网了,难道是我的模块没有加载?

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

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

发布评论

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

评论(3

洛阳烟雨空心柳 2022-07-27 04:20:45

当连接210.21.218.67 的80端口
查看了ip_conntrack,
tcp  6 58 SYN_RECV src=192.168.0.5 dst=210.21.218.67 sport=3913 dport=80 src=210.21.218.67 dst=10.11.12.13 sport=80 dport=3913 use=1
出现syn_recv说明,tcp3次握手已完成两次了,但就是不能established
困惑:

邮友 2022-07-27 04:13:09

一台网关2块网卡,1块接外网(eth0),一块接内网(eth1), 内网ip段为192.168.0.0/24
eth0: 10.11.12.13
eth1: 192.168.0.1
也只有main一个主路由表
正常情况下,内部任何机器都可以上网,没有做任何标记。但是,当我随便给某台机器打上标记,他就上不了网了
iptables -t mangle -A PREROUTING -i eth1 -s 192.168.0.5 -j MARK --set-mark 0x1
ip rule add fwmark 0x1 table main
依然还是不能上网。
192.168.0.5依然是走的main表

困惑:为什么打了标签网络就不通畅了?

屋檐 2022-07-27 03:51:08

换种方式说:

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