iptables困惑。
在一个网段里面想要让一部分人访问外面的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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
不要试图在 PREROUTING 链做 mac 地址匹配
谢谢,去掉mac可以了,mac地址没有搞对?还是有什么其它原因?要不到forword连里面去作IP和MAC绑定算了,就是不太人性化,没有转发到本地80了,一直没有想到去掉mac试试。
[ 本帖最后由 下流砥柱 于 2006-10-23 14:02 编辑 ]
把 MAC 匹配去掉试试,如果还不行,贴出 iptables-save -c 的结果
就贴这一段吧:
复制代码
不多说了,去看书吧,24bit 掩码是 255.255.255.0
贴出你的 iptables-save 结果,用 code 括起来贴出来
试了,好像没有效果,数据还是转发到本地。前面写错了,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 编辑 ]
192.168.1.0/24 与 192.168.1.10/24 有区别吗?二者都代表一个 C 类网段
192.168.1.11/14 是什么意思你是否明白?
你对 mask 的概念很糊涂,去补习一下这方面知识
若要允许 10 与 11 两个 IP,你可以将下列语句放到 nat 表 PREROUTING 的最前面
复制代码