steveclark
关于iptables和虚拟机的问题,重问!悬赏全部处女分
在linux server上用VMWare做了[b]几个[/b]虚拟机,虚拟机网络设置为NAT,虚拟机可以正常上网,现在想用iptables控制虚拟机的访问。
我做了一下规则,阻止DROP全部FORWARD,为什么虚拟机还是可以上网呢??
[color=blue]Chain FORWARD(policy DROP)
target prot opt source destination[/color]
然后,我把规则加到nat表
[color=blue]Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DROP all -- anywhere mh-in-f104.google.com [/color]
还是能访问mh-in-f104.google.com
然后。。。
[color=blue]Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DROP all -- anywhere mh-in-f104.google.com [/color]
现在所有虚拟机不能访问mh-in-f104.google.com了。
但是如果我只限制一台虚拟机不能访问
[color=blue]Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DROP all -- 172.16.227.131 mh-in-f104.google.com [/color]
就没有效果!
[b]如果不是虚拟机,是一般的客户端机器应该怎设置IPTABLE呢?[/b]
[[i] 本帖最后由 steveclark 于 2008-4-29 14:38 编辑 [/i]]
platinum
[quote]原帖由 [i]steveclark[/i] 于 2008-4-29 13:59 发表 [url=http://linux.chinaunix.net/bbs/redirect.php?goto=findpost&pid=6572762&ptid=996906][img]http://linux.chinaunix.net/bbs/images/common/back.gif[/img][/url]
iptables -I FORWARD -j DROP 试过不行。 还是可以访问外网。 虚拟机的网络是nat设定的 [/quote]
OK,那就检查你的网络拓扑,你的虚拟机上网的数据流没有经过你的 Linux 数据匹配框架
steveclark
[quote]原帖由 [i]platinum[/i] 于 2008-4-29 13:40 发表 [url=http://linux.chinaunix.net/bbs/redirect.php?goto=findpost&pid=6572743&ptid=996906][img]http://linux.chinaunix.net/bbs/images/common/back.gif[/img][/url]
如果他们的数据流经过你的 Linux,那么只需 iptables -I FORWARD -j DROP 即可
具体用法见置顶 [/quote]
iptables -I FORWARD -j DROP 试过不行。 还是可以访问外网。 虚拟机的网络是nat设定的
steveclark
[quote]原帖由 [i]platinum[/i] 于 2008-4-29 13:40 发表 [url=http://linux.chinaunix.net/bbs/redirect.php?goto=findpost&pid=6572743&ptid=996906][img]http://linux.chinaunix.net/bbs/images/common/back.gif[/img][/url]
如果他们的数据流经过你的 Linux,那么只需 iptables -I FORWARD -j DROP 即可
具体用法见置顶 [/quote]
[color=blue]iptables -I FORWARD -j DROP [/color]不好使。
[color=blue]iptables -t -nat -I PREROUTING -j DROP [/color]也不灵
但是[color=blue]iptables -t -nat -I OUTUT -j DROP[/color] 可以。。。说明应该是走nat的
[color=blue]iptables -t -nat -I OUTUT -d [url=http://www.google.com][color=blue]www.google.com[/color][/url] -j DROP[/color] 也有效 所有的虚拟机不能访问google但是其他地方可以
[color=blue]iptables -t -nat -I OUTUT -s 某个虚拟机IP -d [url=http://www.google.com][color=blue]www.google.com[/color][/url] -j DROP[/color]无效。该虚拟机还是可以访问google.
[[i] 本帖最后由 steveclark 于 2008-4-29 14:41 编辑 [/i]]
liwensi
[quote]原帖由 [i]paub[/i] 于 2008-4-30 10:02 发表 [url=http://linux.chinaunix.net/bbs/redirect.php?goto=findpost&pid=6573691&ptid=996906][img]http://linux.chinaunix.net/bbs/images/common/back.gif[/img][/url]
需要将你的linux server做为虚拟机的网关,iptables才起作用 [/quote]
linux server只是局域网里面的一个普通机器,也是通过别的Server上网的,如果有2个网卡就可以吧linux server作为虚拟机的网关了。