Networking
在 freebsd 監獄中啟用網路
我使用此處列表中的FreeBSD 9.1 64 位。
在我的 freebsd amazon 實例上,我有一個監獄正在執行:
# jls JID IP Address Hostname Path 1 192.168.1.101 01.gideon.com /jails/01.gideon.com
如果我進入那個監獄控制台,我就無法在上面安裝 perl。(如果我在監獄裡做 portsnap fetch我得到 :
host: isc_socket_bind: address not available
然後它說沒有鏡子,放棄。)我看過幾篇文章和文章,但我對去哪裡感到困惑,我只是想讓你告訴我應該在哪裡放置正確的條目,這是本文的一個範例,我的系統資訊如下:
rc.conf hostname="" #what goes here? defaultrouter=""#what goes here? #I don't understand what this is for? ifconfig_em0="inet 192.168.0.10 netmask 255.255.255.0" #I'm guessing this should be like this: ifconfig_xn0="inet 192.168.1.101 netmask 255.255.255.0" # Should I use an alias? # ifconfig_em0_alias0="inet 192.168.0.111 netmask 255.255.255.0"
這就是
ifconfig -a
給我的:lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6> inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 inet 127.0.0.1 netmask 0xff000000 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> xn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=503<RXCSUM,TXCSUM,TSO4,LRO> ether 12:31:39:2a:dc:cc inet 10.8.106.58 netmask 0xfffffe00 broadcast 10.8.107.255 nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: Ethernet manual status: active
這是我的
/etc/resolve.conf
:# Generated by resolvconf search ec2.internal nameserver 172.16.0.23
那麼我該怎麼做呢?
不允許在 FreeBSD 監獄中修改網路。監獄可以使用所有主機地址,少數幾個(受限集,在監獄創建期間配置)或根本不使用網路。而且,據我所知,允許的 IP 會自動放置在監獄內看到的介面上。
您應該為問題的更新指定確切的 FreeBSD 版本,因為每個版本都在推進監獄行為,並且細節可能會略有不同。
接受的答案是正確的。不允許從監禁環境內部修改網路。它違背了監獄的目的。
但是,解決原始問題的方法是配置jail host。您需要在監獄主機上配置啟用了 NAT 的防火牆。防火牆應允許來自被監禁 IP 地址的出站流量。
EC2 防火牆不限制 FreeBSD 監獄,因為我能夠讓它在 FreeBSD 10.2-RELEASE 上執行。這是另一個可能在接受的答案中產生誤導的陳述。主機創建自己的私有(NATed)IP 地址。EC2 似乎不會在硬體級別限制我們這樣做,但它可能會在防火牆級別限制流量。
至於我們為什麼要這樣做?如果操作正確,利用單個實例的所有可用資源加上增加的安全性是有優勢的。