Networking

在 freebsd 監獄中啟用網路

  • August 21, 2018

我使用此處列表中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 似乎不會在硬體級別限制我們這樣做,但它可能會在防火牆級別限制流量。

至於我們為什麼要這樣做?如果操作正確,利用單個實例的所有可用資源加上增加的安全性是有優勢的。

引用自:https://unix.stackexchange.com/questions/65856