在 freebsd 监狱内启用网络

在 freebsd 监狱内启用网络

我用FreeBSD 9.1 64 位来自在这里列出

在我的 freebsd 亚马逊实例上,我运行着一个监狱:

# 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

那么我该怎么办呢?

答案1

不允许在 FreeBSD 监狱内修改网络。监狱可以使用所有主机地址、一些主机地址(限制集、在监狱创建期间配置)或根本不使用网络。而且,据我所知,允许的 IP 会自动放置在监狱内看到的接口上。

您应该为问题的更新指定确切的 FreeBSD 版本,因为每个版本的监狱行为都在进步,并且细节可能略有不同。

答案2

接受的答案是正确的。不允许从监狱环境内部修改网络。它违背了监狱的目的。

不过,解决最初问题的办法是配置jail主机。您需要在监狱主机上配置启用 NAT 的防火墙。防火墙应允许来自被监禁 IP 地址的出站流量。

EC2 防火墙不限制 FreeBSD 监狱,因为我能够让它在 FreeBSD 10.2-RELEASE 上运行。这是在已接受的答案中可能会产生误导的另一种说法。主机创建自己的私有(NATed)IP 地址。 EC2 似乎并没有限制我们在硬件级别这样做,但它可能会在防火墙级别限制流量。

至于我们为什么要这么做?如果做得正确,利用单个实例的所有可用资源以及增加安全性是有优势的。

相关内容