網路和監獄

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}