この質問は、私の 前の投稿 と似ていません。これは非常に簡単だと思いますが、ネットワーキングと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/dhcp/dhclient.eth0.leases eth0
だから私は自分でそれを考え出した。
私はただ:
sysctl -w net.ipv4.ip_forward=0
そして出来上がり! :)もちろん、_ping www.google.com
googleのIPを解決してから失敗します。したがって、dnsは引き続き機能します。
簡単なtoggleこれに対する解決策は投票で評価されます:)