网络和监狱
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}