Verbinden Sie zwei Schnittstellen über Linux

Verbinden Sie zwei Schnittstellen über Linux

ich habe zwei Schnittstellen, eth0 und wlan0. Über wlan0 bin ich mit einem AP verbunden, der Zugriff auf WAN hat, ich erhalte eine IP-Adresse per DHCP, die vom AP kommt.

Eine zweite Schnittstelle ist eth0. Ich habe sie mit einem DHCP-Server konfiguriert, der allen Clients, die über eth0 mit diesem Subnetz verbunden sind, unterschiedliche Subnetz-IP-Adressen zuweist.

Mein Client-Gerät (Smartphone) erhält korrekt eine IP-Adresse von meinem eth0-DHCP-Server.

Allerdings habe ich jetzt Probleme, eth0 mit wlan0 zu verbinden.

Das eth0-Netzwerk ist 192.168.42.0/24. Mein PC mit beiden Netzwerkkarten verwendet 192.168.42.1. Meine IP-Adresse von wlan0 ist beispielsweise 172.22.3.193

Ich habe bereits die IPv4-Weiterleitung aktiviert, aber ohne Erfolg. Mein Telefon sagt, es besteht keine Internetverbindung, kann aber eine Verbindung zu eth0 herstellen. Es scheint, dass ich bestimmte iptables-Regeln einrichten muss, damit die Weiterleitung funktioniert, aber ich habe verschiedene Ansätze ausprobiert, die ich im Internet finden konnte, und nichts davon funktioniert.

Irgendwelche Ideen, was als nächstes zu tun ist?

Bearbeiten: Mein Routenbefehl gibt mir Folgendes:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         www.go.wlantick 0.0.0.0         UG    600    0        0 wlan0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 eth0
172.22.0.0      0.0.0.0         255.255.0.0     U     600    0        0 wlan0
192.168.42.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

Antwort1

Um einen Linux-Server als NAT-Router zu konfigurieren, müssen Sie:

  1. Aktivieren Sie die IP-Weiterleitung, wie Sie es bereits getan haben (dies ist nur eine Erinnerung für die Zukunft). Bearbeiten Sie die folgende Zeile in Ihrem/etc/sysctl.conf

    net.ipv4.ip_forward=1
    
  2. Aktivieren Sie NAT mit iptables. Führen Sie dazu den folgenden Befehl aus, wobei wlan0Ihre externe Schnittstelle ist.

    iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE 
    

Bitte beachten Sie, dass die iptables-Regeln beim Neustart zurückgesetzt werden. Sie müssen dann die Neukonfiguration von iptables automatisieren.

verwandte Informationen