keine Namensauflösung im Jail nach Aktualisierung auf 9.0

Binfort

Well-Known Member
[GELÖST] keine Namensauflösung im Jail nach Aktualisierung auf 9.0

Hallo,

ich habe heute mein erstes FreeBSD inkl. einem Jail von 8.2 auf 9.0 aktualisiert. Das Ganze mit make... genau wie im Lehrbuch :o

Im Hostsystem ist alles bestens, aber im Jail selbst kann ich keine Hostnamen mehr auflösen. Vor der Aktualisierung funktionierte es einwandfrei.

Ich kann wunderbar aus dem Jail in die Gegend pingen, solange ich die IP benutze. Sobald ich aber einen Hostnamen oder einen internen FQDN nehme:

dig www.google.de

Code:
;; connection timed out; no servers could be reached

Die /etc/resolv.conf ist unverändert, hat also den selben 'search' und 'nameserver' Eintrag wie das Hostsystem.

Verwunderlich ist, dass das Problem direkt nach dem Upgrade auftauchte... muss bei 9.0 und Jails etwas beachtet werden?

Was kann ich hier noch posten um den Fehler einzugrenzen?
 
Zuletzt bearbeitet:
Den Nameserver aus der /etc/resolv.conf kann ich anpingen.

Ein host www.bsdforen.de 8.8.8.8 bringt den selben Fehler wie oben mit dig:
Code:
connection timed out; no servers could be reached
 
Zuletzt bearbeitet:
Sorry dass ich mal kurz reinfrage. Wie kann man denn ueberhaupt den ping in einer Jail nutzen?
Bei mir geht das gar nicht
Code:
> ping 8.8.8.8
ping: socket: Operation not permitted
 
das Loch bohrst du im Host mit 'sysctl -w security.jail.allow_raw_sockets=1'

weiter mit Namensauflösung :D
 
ja im Host ist alles wunderbar... ich habe mal gerade noch ein wenig im Jail getestet:

Ich kann wirklich nur pingen aus dem/der Jail, nix anderes... also 'telnet webserver 80' oder 'telnet mailserver 25' gehen auch nicht, in der Firewall des Hostsystem sieht aber alles gut aus ... kann es sein das mit dem Update automatisch die Firewall des Jails genutzt wird?

Vor dem Update wurde alles über die Host-Firewall eingestellt.

PS: fetch www.google.de geht nicht in der Jail, aber im Host...
 
längst getan :D wenn ich die Firewall im Host deaktiviere, geht in der Jail gar nichts mehr... das ist auch richtig so...

die Firewall im Jail kann ich nicht steuern:
pfctl: /dev/pf: No such file or directory

diese Fehlermeldung kommt bei 'pfctl -d'
 
also ich habe die Firewall per 'pfctl -d' deaktiviert, die Pakete werden durch 'rdr' und 'nat' Regeln ja nicht mehr ans Jail weitergeleitet...
 
Kein Problem, was genau meinst du mit ein paar configs?

Die '/etc/rc.conf' mit den Werten fürs Jail?

Die '/etc/pf.conf' aus dem Host?

Das Jail lief ja wunderbar bis zum Update auf 9.0 :( es gab keine Änderungen an der Konfiguration...

Kann vllt im neuen Kernel eine der jail-Variablen verändert worden sein? Ich schaue das mal eben...
 
hier einmal die Jail-Variablen aus dem neuen Kernel:
security.jail.param.allow.mount.zfs: 0
security.jail.param.allow.mount.procfs: 0
security.jail.param.allow.mount.nullfs: 0
security.jail.param.allow.mount.devfs: 0
security.jail.param.allow.mount.: 0
security.jail.param.allow.socket_af: 0
security.jail.param.allow.quotas: 0
security.jail.param.allow.chflags: 0
security.jail.param.allow.raw_sockets: 0
security.jail.param.allow.sysvipc: 0
security.jail.param.allow.set_hostname: 0
security.jail.param.ip6.saddrsel: 0
security.jail.param.ip6.: 0
security.jail.param.ip4.saddrsel: 0
security.jail.param.ip4.: 0
security.jail.param.cpuset.id: 0
security.jail.param.host.hostid: 0
security.jail.param.host.hostuuid: 64
security.jail.param.host.domainname: 256
security.jail.param.host.hostname: 256
security.jail.param.host.: 0
security.jail.param.children.max: 0
security.jail.param.children.cur: 0
security.jail.param.dying: 0
security.jail.param.persist: 0
security.jail.param.devfs_ruleset: 0
security.jail.param.enforce_statfs: 0
security.jail.param.securelevel: 0
security.jail.param.path: 1024
security.jail.param.name: 256
security.jail.param.parent: 0
security.jail.param.jid: 0
security.jail.devfs_ruleset: 0
security.jail.enforce_statfs: 1
security.jail.mount_zfs_allowed: 0
security.jail.mount_procfs_allowed: 0
security.jail.mount_nullfs_allowed: 0
security.jail.mount_devfs_allowed: 0
security.jail.mount_allowed: 0
security.jail.chflags_allowed: 0
security.jail.allow_raw_sockets: 1
security.jail.sysvipc_allowed: 0
security.jail.socket_unixiproute_only: 1
security.jail.set_hostname_allowed: 0
security.jail.jail_max_af_ips: 255
security.jail.jailed: 0

Was mir auffällt, sind die beiden ip4 Einträge 'security.jail.param.ip4.saddrsel'
und 'security.jail.param.ip4.' die sein beide auf 0, müssten die nicht auf 1 stehen?

In der '/etc/sysctl.conf' werden sie gar nicht genannt...
 
Sind bei mir auch beide auf 0

Versuchs mal mit (fuer jeweils jail und host, wo es geht)
/etc/rc.conf
/etc/resol.conf
/etc/pf.conf
ifconfig
 
Moin Moin,

das ihr Recken gestern Abend noch antwortet konnte keiner ahnen :) ick war pennen ... und dann der Baer, ick freu mir... hier mal die Konfig fürs Netzwerk und fürs Jail in der Host rc.conf:

# networking
ifconfig_fxp0="inet 192.168.0.31 netmask 255.255.255.192 broadcast 192.168.0.63"
defaultrouter="192.168.0.1"
ifconfig_lo0_alias0="127.0.0.2 netmask 255.255.255.255"

# common jail configuration
jail_enable="YES"
jail_list="webserver"
jail_set_hostname_allow="NO"
jail_sysvipc_allow="NO"

# webserber jail configuration
jail_webserver_rootdir="/data/jails/webserver"
jail_webserver_hostname="webserver.domain.de"
jail_webserver_ip="127.0.0.2"
jail_webserver_exec="/bin/sh /etc/rc"
jail_webserver_mount_enable="NO"
jail_webserver_devfs_enable="YES"
jail_webserver_devfs_ruleset="devfsrules_jail_cuad_unhide"

die Host resolv.conf: (identisch mit der Jail Resolv.conf)
search domain.de
nameserver 192.168.0.1

in der rc.conf des Jails werden nur ein paar Dienste zum starten überredet, der Indianer, der MySQL und Sendmail... nix tropisches :(

und jetzt für den Baeren das pfctl -sa Output... als Anhang! Ich wollte hier nicht den Rahmen sprengen.

Wie gesagt, vor dem Upgrade auf 9.0 konnte ich das Jail einwandfrei benutzen...
 

Anhänge

  • pfctl_output.txt
    4 KB · Aufrufe: 510
Nachbrenner

ein 'ifconfig fxp0' im Jail zeigt tatsächlich keine IP an, ich bin mir nicht sicher was da bei 8.2 stand:
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=2009<RXCSUM,VLAN_MTU,WOL_MAGIC>
ether 00:07:e9:bd:ae:1e
ifconfig: socket(AF_INET6, SOCK_DGRAM): Protocol not supported
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
 
So wie Crest gesagt hat. Die IP (127.0.0.2) ist an lo0 im Host vergeben. Soll aber an das Jail oder ?
Es müßte reichen, wenn du die Zeile
Code:
ifconfig_lo0_alias0="127.0.0.2 netmask 255.255.255.255"
in der rc.conf aus dem Part 'networking' rausnimmst und anstelle dessen das jail interface definierst.
Entweder in 'common jail configuration' mit etwas wie
Code:
jail_interface="fxp0"
ODER in '# webserber jail configuration'
Code:
 jail_webserver_interface="fxp0"
Das allein reicht noch nicht, das jail brauch noch eine IP aus deinem LAN aus 192.168.0.0\24 ( ausser den bereits vergebenen.)
hth
Frohe Ostern
 
Zuletzt bearbeitet:
Nachbrenner

ein 'ifconfig fxp0' im Jail zeigt tatsächlich keine IP an, ich bin mir nicht sicher was da bei 8.2 stand:

So wie ich das auf die schnelle sehe, vergbist du der Jail auch nur eine loppback adresse.
Wie das bei mir aussieht:
Code:
ifconfig_em0_alias6="inet 192.168.0.16 netmask 255.255.255.255"   # distcc
ifconfig_lo0_alias6="inet 127.0.0.16 netmask 255.255.255.255"     # distcc

############### distcc
jail_distcc_hostname="distcc.domain.de"
jail_distcc_ip="em0|192.168.0.16,lo0|127.0.0.16"
jail_distcc_rootdir="/var/data/jails/distcc.domain.de"
jail_distcc_fstab="/var/data/jails/fstab.distcc"

So bekommt die Jail eine loopback und eine lan ip und kann somit auch den dns aus dem lan ohne routing nutzen.
 
ich weiß nicht... bis zum Upgrade konnte das Jail ganz phantastisch über den Loopback Alias netzwerken, die Weiterleitung auf die LAN Adapter regelte die Firewall im Host

zum Verständnis habe ich hier das nat/rdr-ruleset (Auszug aus 'pfctl -sa'):
TRANSLATION RULES:
nat on fxp0 inet proto icmp from 127.0.0.2 to ! 127.0.0.0/8 -> 192.168.0.31
nat on fxp0 inet proto tcp from 127.0.0.2 to ! 127.0.0.0/8 -> 192.168.0.31
nat on fxp0 inet proto udp from 127.0.0.2 to ! 127.0.0.0/8 -> 192.168.0.31
rdr on fxp0 inet proto tcp from <intNet> to 192.168.0.31 port = ssh -> 127.0.0.2
rdr on fxp0 inet proto tcp from <intNet> to 192.168.0.31 port = http -> 127.0.0.2
rdr on fxp0 inet proto tcp from <intNet> to 192.168.0.31 port = https -> 127.0.0.2
rdr on fxp0 inet proto tcp from <intNet> to 192.168.0.31 port = 3306 -> 127.0.0.2
rdr on fxp0 inet proto tcp from <intNet> to 192.168.0.31 port = 3632 -> 127.0.0.2

Ich werde mal testen, wie es sich verhält wenn ich der Jail eine LAN IP zuweise... aber wenn ich in 9.0 in einer Jail keine eigene IP mehr zuweisen darf, müsste es doch irgendwo dokumentiert sein, oder? Wie gesagt, genau so hat es vorher bestens funktioniert.

Und: der ICMP Request auf beliebige IP-Adressen, also intern wie extern, funktioniert aus dem Jail... über fxp0
 
Zurück
Oben