Erstellen der Bridge-Schnittstelle

Erstellen der Bridge-Schnittstelle

Ich arbeite an einer Linux-Box. Ich möchte so etwas.

Netzwerk--->WLAN0---->Eth0-->Anderer Server.

Sowohl die wlan0- als auch die eth0-Schnittstelle befinden sich in derselben Linux-Box. Ich verwende DHCP, das meiner wlan0-Schnittstelle beispielsweise 192.168.3.21 zuweist. Ich weise meiner eth0-Schnittstelle eine statische IP-Adresse, beispielsweise 192.168.3.101, und einem anderen Server 192.168.3.102 zu. Jetzt möchte ich vom Netzwerk (192.168.3.XX) einen anderen Server an der Adresse 192.168.3.102 und meinen eth0 an 192.168.3.101 pingen. Das gelingt mir nicht.

Ich kann von meiner Linux-Box aus nicht einmal meinen anderen Server unter 192.168.3.102 anpingen.

Ich habe die IP-Weiterleitung über den Befehl „echo 1 > /proc/sys/net/ipv4/ip_forward“ aktiviert.

Ich habe den folgenden Befehl auch verwendet, um die NAT-Weiterleitung zu aktivieren.

iptables -A FORWARD -i wlan0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o wlan0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Ich kann immer noch keinen Ping senden.

Bitte lassen Sie mich wissen, was mir fehlt. Ich bin für jede Hilfe sehr dankbar.

Hier ist die Ausgabe von iptables-save: -

# Generated by iptables-save v1.6.0 on Mon Feb 19 10:17:54 2018
*raw
:PREROUTING ACCEPT [481:39595]
:OUTPUT ACCEPT [325:24634]
COMMIT
# Completed on Mon Feb 19 10:17:54 2018
# Generated by iptables-save v1.6.0 on Mon Feb 19 10:17:54 2018
*nat
:PREROUTING ACCEPT [1:229]
:INPUT ACCEPT [1:229]
:OUTPUT ACCEPT [1:76]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o wlan0 -j MASQUERADE
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Mon Feb 19 10:17:54 2018
# Generated by iptables-save v1.6.0 on Mon Feb 19 10:17:54 2018
*mangle
:PREROUTING ACCEPT [482:39927]
:INPUT ACCEPT [474:38801]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [325:24634]
:POSTROUTING ACCEPT [325:24634]
COMMIT
# Completed on Mon Feb 19 10:17:54 2018
# Generated by iptables-save v1.6.0 on Mon Feb 19 10:17:54 2018
*filter
:INPUT ACCEPT [63:6229]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1:76]
-A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Mon Feb 19 10:17:54 2018

Hier ist meine Ausgabe für die IP-Route: -

Standard über 192.168.0.1 dev wlan0 Metrik 10 192.168.0.0/24 dev wlan0 Proto-Kernel-Bereich Link src 192.168.0.190 192.168.0.0/24 dev eth0 Proto-Kernel-Bereich Link src 192.168.0.235

Antwort1

Wenn Sie eineRouterBei zwei Schnittstellen müssen diese in unterschiedlichen Subnetzen liegen (Beispiel: 192.168.0.0/24 ist getrennt von 192.168.5.0/24). Hier liegt ein Konflikt vor, der in Ihrem sichtbar ist ip route, es wird nicht funktionieren.

Wenn Sie dasselbe Subnetz auf beiden Schnittstellen verwenden möchten, handelt es sich nicht um einen Router, sondern um einen Zwei-Port-Switch, der üblicherweise alsBrücke.

  • Sie könnten eine Bridging-Schnittstelle erstellen und dort eine IP zuweisen, möglicherweise über DHCP.
  • wlan0 und eth0 sollten ohne IP-Adressen bleiben, sie werden zu transparenten Mitgliedern einer Brücke.

Antwort2

Um zwei verschiedene Netzwerke zu verbinden, muss man eine Brücke wie die folgende verwenden:

Erstellen der Bridge-Schnittstelle

brctl addbr br0

Schnittstellen zur Brücke hinzufügen

brctl addif eth0

brctl addif wan0

Null-IP der Schnittstellen.

ifconfig eth0 0.0.0.0 promisc up

ifconfig wan0 0.0.0.0 promisc up

Aktivieren Sie die Bridge-Schnittstelle

ifconfig br0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255 

verwandte Informationen