iptables困惑。

发布于 2022-07-25 07:14:51 字数 244 浏览 21 评论 8

在一个网段里面想要让一部分人访问外面的80端口,另外的人转发到本地80端口,规则这样写的。
iptables -t nat -A PREROUTING -i $LOCAL_IFACE -p tcp -s 192.168.1.0/24 -d 0.0.0.0/0 --dport 80 -j DNAT --to-destination $LOCAL_IP:80

问题是如何让192.168.1.10/24,192.168.1.11/14 .....出去?

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

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

发布评论

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

评论(8

倒数 2022-07-28 03:38:40

原帖由 下流砥柱 于 2006-10-23 13:58 发表

谢谢,去掉mac可以了,mac地址没有搞对?还是有什么其它原因?要不到forword连里面去作IP和MAC绑定算了,就是不太人性化,没有转发到本地80了,一直没有想到去掉mac试试。

不要试图在 PREROUTING 链做 mac 地址匹配

血之狂魔 2022-07-28 03:38:20

原帖由 platinum 于 2006-10-23 13:53 发表
把 MAC 匹配去掉试试,如果还不行,贴出 iptables-save -c 的结果

谢谢,去掉mac可以了,mac地址没有搞对?还是有什么其它原因?要不到forword连里面去作IP和MAC绑定算了,就是不太人性化,没有转发到本地80了,一直没有想到去掉mac试试。

[ 本帖最后由 下流砥柱 于 2006-10-23 14:02 编辑 ]

各自安好 2022-07-28 03:16:14

把 MAC 匹配去掉试试,如果还不行,贴出 iptables-save -c 的结果

梦里寻她 2022-07-28 03:04:57

原帖由 platinum 于 2006-10-23 13:43 发表
贴出你的 iptables-save 结果,用 code 括起来贴出来

就贴这一段吧:

  1. :PREROUTING ACCEPT [1760:87496]
  2. :POSTROUTING ACCEPT [11:1070]
  3. :OUTPUT ACCEPT [11:1070]
  4. -A PREROUTING -s 172.16.253.172 -i eth1 -p tcp -m mac --mac-source 00:16:EC:3B:54:4F -j ACCEPT
  5. -A PREROUTING -s 172.16.252.176 -i eth1 -p tcp -m mac --mac-source 00:16:EC:17:DF:A0 -j ACCEPT
  6. -A PREROUTING -s 172.16.250.211 -i eth1 -p tcp -m mac --mac-source 00:16:EC:17:DF:AA -j ACCEPT
  7. -A PREROUTING -s 172.16.249.192 -i eth1 -p tcp -m mac --mac-source 00:16:EC:3B:54:4D -j ACCEPT
  8. -A PREROUTING -s 172.16.254.0/255.255.255.0 -d ! 10.10.0.0/255.255.0.0 -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.3.1:80
  9. -A PREROUTING -s 172.16.253.0/255.255.255.0 -d ! 10.10.0.0/255.255.0.0 -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.3.1:80
  10. -A PREROUTING -s 172.16.252.0/255.255.255.0 -d ! 10.10.0.0/255.255.0.0 -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.3.1:80
  11. -A PREROUTING -s 172.16.251.0/255.255.255.0 -d ! 10.10.0.0/255.255.0.0 -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.3.1:80
  12. -A PREROUTING -s 172.16.250.0/255.255.255.0 -d ! 10.10.0.0/255.255.0.0 -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.3.1:80
  13. -A PREROUTING -s 172.16.248.0/255.255.255.0 -d ! 10.10.0.0/255.255.0.0 -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.3.1:80
  14. -A PREROUTING -s 172.16.247.0/255.255.255.0 -d ! 10.10.0.0/255.255.0.0 -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.3.1:80
  15. -A PREROUTING -s 172.16.246.0/255.255.255.0 -d ! 10.10.0.0/255.255.0.0 -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.3.1:80
  16. -A POSTROUTING -s 172.16.253.172 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
  17. -A POSTROUTING -s 172.16.252.176 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
  18. -A POSTROUTING -s 172.16.250.211 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
  19. -A POSTROUTING -s 172.16.249.192 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
  20. -A POSTROUTING -s 172.16.254.0/255.255.255.0 -d 10.10.0.0/255.255.0.0 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
  21. -A POSTROUTING -s 172.16.253.0/255.255.255.0 -d 10.10.0.0/255.255.0.0 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
  22. -A POSTROUTING -s 172.16.252.0/255.255.255.0 -d 10.10.0.0/255.255.0.0 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
  23. -A POSTROUTING -s 172.16.251.0/255.255.255.0 -d 10.10.0.0/255.255.0.0 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
  24. -A POSTROUTING -s 172.16.250.0/255.255.255.0 -d 10.10.0.0/255.255.0.0 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
  25. -A POSTROUTING -s 172.16.248.0/255.255.255.0 -d 10.10.0.0/255.255.0.0 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
  26. -A POSTROUTING -s 172.16.247.0/255.255.255.0 -d 10.10.0.0/255.255.0.0 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
  27. -A POSTROUTING -s 172.16.246.0/255.255.255.0 -d 10.10.0.0/255.255.0.0 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
  28. -A POSTROUTING -s 172.16.3.0/255.255.255.0 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
  29. -A POSTROUTING -s 172.16.7.0/255.255.255.0 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
  30. -A POSTROUTING -s 172.16.6.0/255.255.255.0 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
  31. -A POSTROUTING -s 172.16.249.0/255.255.255.0 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
  32. COMMIT

复制代码

长不大的小祸害 2022-07-27 19:10:34

原帖由 下流砥柱 于 2006-10-23 13:38 发表
前面写错了,mask还是比较清楚地。192.168.1.0/24表示网段,192.168.1.10/24表示的是主机吧,虽然掩码都是24,0的应该表示网段啊,呵呵

不多说了,去看书吧,24bit 掩码是 255.255.255.0

英雄似剑 2022-07-27 14:57:48

贴出你的 iptables-save 结果,用 code 括起来贴出来

楠木可依 2022-07-27 03:13:27

原帖由 platinum 于 2006-10-23 13:32 发表
192.168.1.0/24 与 192.168.1.10/24 有区别吗?二者都代表一个 C 类网段
192.168.1.11/14 是什么意思你是否明白?
你对 mask 的概念很糊涂,去补习一下这方面知识

若要允许 10 与 11 两个 IP,你可以将下列语 ...

试了,好像没有效果,数据还是转发到本地。前面写错了,mask还是比较清楚地。192.168.1.0/24表示网段,192.168.1.10/24表示的是主机吧,虽然掩码都是24,0的应该表示网段啊,呵呵

我是这样的:
iptables -t nat -A PREROUTING -i $LOCAL_IFACE -p tcp -s 192.168.1.10/32 -m mac --mac-source 00:16:ec:3b:54:4f -j ACCEPT

ACCEPT看问答不建议用在prerouting连,我也是没有办法才用了这个,好像还是没有效果?人品问题?

[ 本帖最后由 下流砥柱 于 2006-10-23 13:41 编辑 ]

在巴黎塔顶看东京樱花 2022-07-27 03:07:58

192.168.1.0/24 与 192.168.1.10/24 有区别吗?二者都代表一个 C 类网段
192.168.1.11/14 是什么意思你是否明白?
你对 mask 的概念很糊涂,去补习一下这方面知识

若要允许 10 与 11 两个 IP,你可以将下列语句放到 nat 表 PREROUTING 的最前面

  1. iptables -t nat -A PREROUTING -s 192.168.1.10 -p tcp --dport 80 -j ACCEPT
  2. iptables -t nat -A PREROUTING -s 192.168.1.11 -p tcp --dport 80 -j ACCEPT

复制代码

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