32-bit jail on 64-bit host
Eugene Grosbein
eugen at grosbein.net
Thu Apr 22 10:27:53 UTC 2021
22.04.2021 15:36, Peter Blok wrote:
> Hi,
>
> I have created a 32-bit jail on a 64-bit running 12-STABLE. The jail is also build using the same source.
>
> The jail gives me a 32-bit environment. I’m getting an IP address and I can ping others on the same network segment.
>
> But I can’t set a default route.
>
> route add default 192.168.1.1
> route: writing to routing socket: Invalid argument
> add net default: gateway 192.168.1.1 fib 0: Invalid argument
>
> # netstat -rn
> Routing tables
> (0) (0) UH
> (0) (0) U
> (0) (0) UHS
> (0) (0) UH
> (0) (0) U
> (0) (0) UHS
>
> # ifconfig -a
> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
> options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
> inet6 ::1 prefixlen 128
> inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
> inet 127.0.0.1 netmask 0xff000000
> groups: lo
> nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
> e0b_websip: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
> options=8<VLAN_MTU>
> ether 0e:88:d7:20:99:80
> hwaddr 02:80:ad:6e:79:0b
> inet 192.168.1.205 netmask 0xffffff00 broadcast 192.168.1.255
> groups: epair
> media: Ethernet 10Gbase-T (10Gbase-T <full-duplex>)
> status: active
> nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
>
> Any idea how to fix this?
You will have to put in jail ABI-compatible userland utilities that talk with a kernel directly.
This means 64 bit versions of binaries like route, ipfw, maybe netstat etc.
You should not assume and use jail as virtual machine, it is not. It is a container for a set of processes
sharing same kernel with other jails. If you need full-blown virtual machine, use bhyve.
More information about the freebsd-hackers
mailing list