• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

VLAN funktioniert nicht

mod3

Well-Known Member
Themenstarter #1
Hallo zusammen,

FreeBSD ist neu für mich, bin aber sehr Linux-erfahren.
Habe mal eine VM mit FreeBSD aufgesetzt, die ich in ein tagged VLAN stecken möchte.
Die Host- und Netzwerkconfig ist iO, ich habe andere VMs, mit denen das so problemlos funktioniert.

In meine rc.conf habe ich folgendes eingetragen:

Code:
vlans_em0="100"
ifconfig_em0_100="inet 10.1.0.2/24"
defaultrouter="10.1.0.1"
Die resolv.conf sieht so aus:

Code:
nameserver 10.1.0.1
Trotzdem klappt nichtmal ein Ping auf 10.1.0.1...

Was mache ich falsch?
 

mod3

Well-Known Member
Themenstarter #3
Das schaut folgendermaßen aus:

Code:
ifconfig -a

em0.100: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 08:00:27:37:5c:8a
        inet 10.1.0.2 netmask 0xffffff00 broadcast 10.1.0.255
        groups: vlan
        vlan: 100 vlanpcp: 0 parent interface: em0
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
em0 ist nicht konfiguriert, wird aber aufgelistet.
 

Zirias

Well-Known Member
#4
Ok, das sieht soweit ok aus. Und was sagt "netstat -r4n"? Wenn das auch vernünftig aussieht musst du vielleicht doch nochmal in der Umgebung suchen (host-seitig richtig "gebridget", firewallregeln, ...?) -- vlans funktionieren jedenfalls problemlos mit FreeBSD, habe ich selbst im Einsatz, und dein Interface ist schon mal korrekt konfiguriert...
 

mod3

Well-Known Member
Themenstarter #5
Habe direkt "nebenan" eine Linux-VM liegen, welche quasi identisch konfiguriert ist und bei der funktioniert alles.
Habe die Hostconfig mehrfach gecheckt und die Firewall auf dem VLAN temporär sogar aus...

Code:
Internet:
Destination            Gateway            Flags            Netif Expire
default                10.1.0.1        UGS                em0.100
10.1.0.0/24            link#3            U                em0.100
10.1.0.2            link#3            UHS                lo0
127.0.0.1            link#2            UH                lo0
 

Zirias

Well-Known Member
#6
Naja, die Routing-Tabelle ist auch völlig korrekt. Das Problem muss irgendwo "in der Umgebung" liegen. Vielleicht auch in der Emulation einer Intel NIC? Hast du mal virtio mit "vtnet" Treiber versucht?
 

mod3

Well-Known Member
Themenstarter #7
Das ist momentan ganz plumpes Virtualbox, um etwas herum zu spielen.
Ich habe sämtliche HW-Virtualisierung mal eingeschaltet, aber sonst nichts verändert...

Ist FreeBSD so wählerisch bei NICs?
 

Zirias

Well-Known Member
#8
Ich habe sämtliche HW-Virtualisierung mal eingeschaltet, aber sonst nichts verändert...
Naja, du musst auch "em" überall durch "vtnet" ersetzen, um eine VirtIO NIC zu benutzen. Eventuell muss noch der Treiber geladen werden, steht in em(4) ...
Ist FreeBSD so wählerisch bei NICs?
Nicht, dass ich wüsste. Das ist jetzt mal ins Blaue ein Ansatzpunkt was du testen könntest, mag ja sein, dass eine emulierte NIC sich nicht genauso verhält wie erwartet. In VMs nutze ich wo immer möglich nur VirtIO und das funktioniert bei mir. Echte Hardware natürlich auch. Dein Problem liegt jedenfalls nicht an der Netzwerkkonfiguration IN der VM, also muss man irgendwie woanders suchen.
 

mod3

Well-Known Member
Themenstarter #9
Habe vtnet mal probiert... damit sagt er selbst bei nem Ping auf die 10.1.0.1 "No route to host"... habe nochmal alles gecheckt und die config ist weiterhin korrekt.

Finde das merkwürdig, habe mit sowas noch nie Probleme gehabt, nutze VirtualBox öfter für erste Tests...
 

mod3

Well-Known Member
Themenstarter #11
Dort stand als Netzwerkdevice dann komischerweise nicht "vtnet0_16", sondern nur "vtnet0_1", die rc.conf war aber korrekt...
 

Zirias

Well-Known Member
#15
Ha, das einzige was ich vergessen habe: das parent interface prüfen :)

Versuche (je nachdem ob du jetzt em oder vtnet verwendest) entweder
ifconfig em0 up
oder
ifconfig vtnet0 up

Wenn es danach geht fehlt einfach eine Zeile in der rc.conf:

ifconfig_em0="up"
bzw
ifconfig_vtnet0="up"