我试图阻止所有出站流量从iptables的接口docker0。但我想打开几个域的访问权限:
我怎么能这么做?
我试过了:
iptables -I OUTPUT -o docker0 -j DROP
iptables -I DOCKER -i docker0 -p udp --dport 53 -j ACCEPT
iptables -I DOCKER -i docker0 -p tcp -d mydomain.com --dport 80 -j ACCEPT
iptables -I DOCKER -i docker0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT发布于 2021-06-18 06:01:39
这是不可能的。iptables控制网络过滤器,它是一个IP包过滤器(防火墙),作用于OSI第3级和第4级。
您可以使用Netfilter控制对某些IP地址(L3)和TCP/UDP端口(L4)的访问。
如果您想控制对网站的访问,您有以下选项:
iptables本身就是这样做的;它在Netfilter中配置的东西是解析该名称的IP地址。当该域的所有者决定更改IP地址时,您的规则将不再适用。如果在该服务器上托管了多个具有此IP地址的网站(即,存在一个承载多个名称的虚拟主机),则可以完全允许它们,或者完全禁用它们。这就是你现在似乎在做的事情;https://serverfault.com/questions/1067080
复制相似问题