it-swarm.com.de

Hinzufügen einer Regel in iptables in Debian, um einen neuen Port zu öffnen

Ich versuche, Port 3306 in iptables in meinem Debian-System zu öffnen, um den Zugriff auf den MySQL-Server zu ermöglichen. Für die ich diesen Befehl eingegeben habe:

[email protected]:/# Sudo iptables -A INPUT -p tcp --dport 3306 ACCEPT
[email protected]:/# iptables-save

Ich habe die neue Verbindung eingegeben und sie wurde in iptables gespeichert, da ich die neue Regel in der mit dem Befehl iptables-save erstellten iptables-Liste sehen kann.

Allerdings läuft dieses Debian-System auf einem VM über Windows7 und ich kann nicht von Windows zu diesem Port telneten. Ich bin nicht sicher, wo ich nach der Lösung für dieses Problem suchen soll.

24

Über Ihre Befehlszeile:

[email protected]:/# Sudo iptables -A INPUT -p tcp --dport 3306 --jump ACCEPT
[email protected]:/# iptables-save
  • Sie sind bereits als root authentifiziert, daher ist Sudo dort redundant.

  • Ihnen fehlt das -j oder --jump kurz vor dem ACCEPT -Parameter (habe nur gedacht, dass es sich um einen Tippfehler handelt, und du fügst ihn richtig ein).

Über Ihre Frage:

Wenn Sie die iptables -Regel korrekt einfügen, wie Sie sie in der Frage angegeben haben, hängt das Problem möglicherweise mit dem von Ihnen verwendeten Hypervisor (Anbieter der virtuellen Maschine) zusammen.

Wenn Sie den Namen des Hypervisors angeben (VirtualBox, VMWare?), Kann ich Sie hieran weiterleiten, aber hier sind einige Vorschläge, die Sie zuerst versuchen können:

überprüfen Sie die Netzwerkeinstellungen Ihres Rechners und:

  • wenn NAT eingestellt ist, können Sie keine Verbindung von Ihrem Basiscomputer zum virtuellen Computer herstellen.

  • wenn es auf Hosted eingestellt ist, müssen Sie zuerst die Netzwerkeinstellungen konfigurieren. In der Regel müssen Sie ihnen eine IP im Bereich 192.168.56.0/24 zuweisen, da dies die Standardeinstellung der Hypervisoren ist.

  • wenn es auf Bridge eingestellt ist, können Sie es wie Hosted konfigurieren, wenn der IP-Bereich für Ihre Konfiguration sinnvoll ist.

Hoffe das hilft.

45
diosney

(Ich nehme an, Sie sind zu dem Schluss gekommen, dass es sich um ein Iptables-Problem handelt, indem Sie die Firewall vollständig gelöscht haben (Iptables-P INPUT ACCEPT; Iptables-P OUTPUT ACCEPT; Iptables-F), und haben bestätigt, dass Sie von Ihrer Windows-Box aus eine Verbindung zum MySQL-Server herstellen können? )

Einige frühere Regeln in der INPUT-Tabelle lehnen das Paket wahrscheinlich ab oder verwerfen es. Sie können dies umgehen, indem Sie die neue Regel oben einfügen, obwohl Sie möglicherweise Ihre vorhandenen Regeln überprüfen möchten, um festzustellen, ob dies sinnvoll ist:

iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT

Beachten Sie, dass iptables-save die neue Regel nicht dauerhaft speichert (d. H. Über Neustarts hinweg). Dafür müssen Sie etwas anderes herausfinden. Normalerweise speichere ich die Ausgabe von iptables-save in einer Datei (/etc/network/iptables.rules oder ähnlich) und lade sie dann mit einer Pre-Up-Anweisung in/etc/network/interfaces.

9
user3392484