defaultrouter Interface festlegen in VNET Jail

SolarCatcher

Well-Known Member
Ich habe in meiner VNET Jail web1 ein epair Interface e0b_web1 und ein Loopback Interface lo0. Die Default Route soll über die Bridge des Hostes gehen, das die IP-Adresse 10.0.0.1 hat. So sieht das in /etc/rc.conf aus:

Code:
...
ifconfig_e0b_web1="inet 10.0.0.2 netmask 255.255.255.0"
ifconfig_lo0_alias0="inet 10.0.0.102 netmask 255.255.255.0 alias"
defaultrouter="10.0.0.1"
...

Leider wird diese Default Route immer auf das Loopback-Interface lo0 gelegt! Ich habe in der Jail diverse route add default ausprobiert, mit den Parametern -interface oder -ifp oder -ifa. Aber entweder bekam ich die Default Route wieder auf lo0 oder bekam ich die Default Route auf e0b_web1 aber ohne die IP-Adresse der Bridge (10.0.0.1). Der Route-Table müsste so aussehen:
Code:
Destination        Gateway            Flags         Netif Expire
default            10.0.0.9           UGS        e0b_web2

Es muss doch irgendwie möglich sein, die Default Route über 10.0.0.1 UND das Interface e0b_web1 zu bekommen. Aber wie?

Vorübergehend habe ich mir beholfen, in dem ich die Alias-IP-Adresse von lo0 gelöscht habe, dann die Default Route gesetzt und dann die IP-Adresse wieder auf lo0 gelegt. Aber das überlebt halt keinen Neustart.

Hat jemand einen Tipp?
 
Dein Host ist doch im gleichen Netz, also erreichen "beide" 10.0.0.1 und die jail das eben auf kürzestem Weg via localhost.

Das ist so nicht der Einsatzzweck einer VNET-jail oder anders: du versuchst eine VNET-jail wie eine gewöhnliche zu betreiben.
 
Alle meine Jails sind so aufgebaut:

root@nocodb:~ # ifconfig
lo0: flags=1008049<UP,LOOPBACK,RUNNING,MULTICAST,LOWER_UP> metric 0 mtu 16384
options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x22
groups: lo
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
vnet0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 02:2d:a3:8c:a5:0b
inet 192.168.1.241 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>

ee /etc/rc.conf
ifconfig_e6b_nocodb_name="vnet0"
ifconfig_vnet0="SYNCDHCP "

Ich sehe keinen Bedarf innerhalb eines Jails den localhost umzubiegen.
Das ist eher etwas für den Host, so das ja zur Grundkonfiguration für Jails ohne VNET wäre.
 
Ja, da habt Ihr mich schon richtig "ertappt". Ich habe vor Jahren zunächst mit den "normalen" (nicht-VNET) Jails gearbeitet. Dann benötigte ich aber ein eigenes Loopback in einer Jail, auf dem ein - außerhalb der Jail nicht zu erreichendes Redis - laufen sollte. Daher dann der Wechsel auf VNET-Jails. Das ganze wurde gemanagt per sysutils/iocage. Erst bei der gestrigen Umstellung des Jail Managements auf /etc/jail.conf gab es nun dieses Problem mit dem Routing.

Eure Rückmeldungen haben mich nachdenken lassen. Die zweite IPv4-Adresse wird eigentlich auch nur in dieser Jail selbst benötigt (ein Backend-Dienst für den Web-Server). Sie muss daher gar nicht im selben Netz, nicht mal in irgendeinem Netz sein. Der Dienst läuft jetzt auf der Loopback-Adresse 127.0.0.1. Und damit hat sich das Default Routing-Problem gelöst.

Vielen Dank für Eure Rückmeldung und den Denkanstoß, den ihr mir damit versetzt habt!
 
Zurück
Oben