网络和监狱

FreeBSD jails 可以有细粒度的网络配置。默认情况下,每个 jails 使用与主机相同的网络配置。

删除网络支持

jail -c name="nonetwork" path="/path/to/your/jail" ip4=disable ip6=disable

仅允许 IPv4 网络

jail -c name="onlyipv4" path="/path/to/your/jail" ip4=inherit ip6=disable

仅允许 IPv6 网络

jail -c name="onlyipv6" path="/path/to/your/jail" ip4=disable ip6=inherit

专用网络堆栈(VNET)

VNET 是最近的功能,允许 jail 拥有自己的网络堆栈。执行此配置需要向主机添加路由功能。主机内核需要 VIMAGE 选项。

# starting our own jail with vnet
jail -c name="vnetjail" path="/path/to/your/jail" vnet=new

# we need a bridge...
ifconfig bridge0 create

# a pair of ethernet interface...
ifconfig epair0 create

# and interconnecting epair, jail and bridge
ifconfig epair0b vnet vnetjail
ifconfig bridge0 add epair0a
ifconfig bridge0 add ${your_external_interface}