Verbinden Sie das Gerät über einen Linux-Computer mit dem Internet

495
ramon74

Ich habe die nächste Architektur:

architecture

[ Gerät Eth0] - LAN --- [Eth 0 Linux Computer Wth0] - WLAN - [Router Wifi]

Geräte-Eth0: IP: 10.0.0.15, MK: 255.255.255.0, GW: 10.0.0.2

Linux-Computer Eth0: IP: 10.0.0.2, MK: 255.255.255.0, GW: -
Linux-Computer Wth0: IP192.168.1.10, MK: 255.255.255.0, GW: 192.168.1.1

Router Wifi: IP: 192.168.1.1/24

Und ich brauche, dass das Gerät eine Internetverbindung über den Linux-Computer wie ein Gateway erhält.

Der Linux-Computer erhält eine Internetverbindung über den Router Wifi. Dies funktioniert problemlos. Das Gerät ist über ein Ethernet-Kabel mit einem Linux-Computer verbunden. Vom Computer aus kann ich ein Ping an das Gerät durchführen und funktioniert. Aber vom Gerät kann keine Verbindung zum Internet hergestellt werden.

Ich habe versucht, Routenregeln zu verwenden, iptables ... aber das Gerät kann keine Verbindung zum Internet herstellen.

Wissen Sie, wie das Gerät über einen Linux-Computer wie ein Gateway mit dem Internet verbunden werden kann?

0
Sie müssen die IP-Weiterleitung und NAT auf dem Linux-Computer aktivieren. Es gibt viele Tutorials dafür online. Ja, es beinhaltet "iptables" für das NAT. Wenn Sie ein Tutorial gefunden haben, das nicht funktioniert hat, bearbeiten Sie Ihre Frage mit einem Link zum Tutorial und beschreiben Sie genau, was Sie getan haben, wie Sie es debuggt haben und wo Sie stecken geblieben sind. dirkt vor 6 Jahren 1

1 Antwort auf die Frage

2
bsod

Es sollte mit den folgenden Befehlen funktionieren

Aktivieren Sie zunächst die IP-Weiterleitung

echo 1 > /proc/sys/net/ipv4/ip_forward 

iptables-Regeln zurücksetzen

iptables -F iptables -t nat -F 

Weiterleitung aus dem lokalen Netzwerk zulassen

iptables -A FORWARD -i eth0 -o wth0 -j ACCEPT 

Antworten wieder zulassen

iptables -A FORWARD -i wth0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT 

Maskieren Sie die IP-Adresse

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

Anschließend müssen Sie die eth0-IP Ihres Linux-Computers (10.0.0.2) als Gateway in Ihrem Gerät konfigurieren und den DNS-Server auf die IP Ihres WLAN-Routers oder einen anderen öffentlichen DNS-Dienst (z. B. 1.1.1.1 oder 8.8.8.8) konfigurieren )

Ich habe Ihre Lösung getestet und funktioniert gut, aber wenn wir den Linux-Computer neu starten, haben wir die Konfiguration verloren. Wissen Sie, wie Sie diese Konfiguration dauerhaft speichern können? ramon74 vor 6 Jahren 0
Um diese Einstellung für "ip_forward" dauerhaft zu machen, müssen Sie der Datei "/ etc / sysctl.conf" die Zeile "net.ipv4.ip_forward = 1" hinzufügen. Soweit ich weiß, gibt es keine Standardmethode, um die iptables-Regeln dauerhaft zu machen. Auf Debian und Ubuntu gibt es ein Paket namens "iptables-persistent", das die iptables-Regeln beim Start wiederherstellt. Sie können gespeichert werden, indem Sie iptables-save> / etc / iptables / rules.v4 ausführen bsod vor 6 Jahren 0