iptablesconfiguration2个接口的网关虚拟机

我有一台虚拟机,像其他虚拟机的网关一样工作。

接口的configuration如下

UBUNTU:

eth0: ip: 10.0.2.2 netmask 255.255.255.255 gateway 10.0.2.2 eth1: ip: 192.168.1.1 bcast: 192.168.1.255 netmask: 255.255.255.0 

我想closures所有的端口,只通过网关浏览互联网。

没有规则,它完美的作品,但与实际的防火墙configurationiptables阻止连接。

 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP echo 1 > /proc/sys/net/ipv4/ip_forward iptables -A OUTPUT -o eth0 -p tcp --dport 80 -m state -j ACCEPT iptables -A INPUT -i eth0 -p tcp --sport 80 -m state -j ACCEPT iptables -A FORWARD -i eth1 -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 

# ..... other rules for the others connected vm

允许ESTABLISHED,RELATED连接通过的规则是?

你在这个例子中看到:

我引用:

允许build立会话

我们可以允许build立的会话接收stream量:

sudo iptables -A INPUT -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT

 The above rule has no spaces either side of the comma in ESTABLISHED,RELATED 

如果上面的行不起作用,你可能在一个阉割的VPS上,它的提供者没有提供扩展名,在这种情况下,可以使用劣等版本作为最后的手段:

sudo iptables -A INPUT -m状态–state ESTABLISHED,RELATED -j ACCEPT

来源: Ubuntu Wiki

编辑:

我看到你忘记了你的规则允许的DNS?