阻止容器内部拨出的互联网电话

阻止容器内部拨出的互联网电话

这个问题与我的早期帖子。我认为这很简单,只是我对网络和 ubuntu 防火墙了解不够。

我跟着本文并在 ec2 上的 ubuntu 服务器内设置一个 linux 容器。我可以从容器访问互联网。

                       | ----Ubuntu Server on EC2 -----
 ==== INTERNET <==== > |  some magic routes traffic  <===   lxc container
                       |                                    [192.168.3.1] 
                       |------------------------------

我只需要集装箱内的互联网安装依赖项对于我的应用程序。现在我需要关闭互联网访问。我不会介意任何其他方法,例如阻止某个用户帐户访问互联网。

网络配置如下,如果您对我应阅读的内容有任何想法、线索或建议,我将不胜感激:


有一个网桥:

brctl addbr br0
brctl setfd br0 0
ifconfig br0 192.168.3.1 up

然后我这样做了:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sysctl -w net.ipv4.ip_forward=1

然后是这个:cat /etc/dnsmasq.conf

domain-needed
bogus-priv
interface = br0
listen-address = 127.0.0.1
listen-address = 192.168.3.1
expand-hosts
domain = containers
dhcp-range = 192.168.3.50,192.168.3.200,1h

然后 :cat etc/dhcp3/dhclient.conf

prepend domain-name-servers 127.0.0.1;
prepend domain-search "containers.";

然后我跑了:

dhclient -e IF_METRIC=100 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dh​​cp/dhclient.eth0.leases eth0

答案1

所以我自己就想出了办法。

我只是做 :

sysctl -w net.ipv4.ip_forward=0

瞧!:) 当然,如果我这样做,ping www.google.com它会解析 google 的 IP,然后失败。所以 dns 仍然有效。

一个简单的切换如果能给出解决方案的话我会很感激:)

相关内容