Centos portforward lokal port til anden IP og Port i iptables

Hvis du har en Linux/Centos server og har behov for videresende traffik til en anden IP og Port.

Så kan det gøres ved hjælp af iptables, som er linux serverens firewall.

f.eks. Plan:

  • Linux serveren har IP: 90.80.70.60
  • Linux serveren lytter på Port: 80
  • Videresendes til destination IP: 60.70.80.90 på port: 8080

f.eks. Design:

[Traffik] —-> 90.80.70.60:80 —-> [<-Linux Portforwarding ->] —-> 60.70.80.90:8080
Vejledning:

  1. Først skal vi tillade portforwarding.
    skriv:
    echo "net.ipv4.ip_forward = 1"|sudo tee /etc/sysctl.d/99-ipforward.conf
    net.ipv4.ip_forward = 1
  2. Kontroller om portforwarding er slået til:
    skriv, og se om den viser: 1 = korrekt:
    sysctl net.ipv4.ip_forward
  3. Aktivere punkt. 1 med det samme, skriv:
    sudo sysctl -p /etc/sysctl.d/99-ipforward.conf net.ipv4.ip_forward = 1
  4. Start iptables service, skriv:
    sudo systemctl start iptables
  5. Hvis behov for se nuværende regler, skriv:
    sudo iptables -t nat -L -n
  6. Hvis behov for slette alle nuværende regler, skriv:
    sudo iptables -F
    sudo iptables -t nat -F
  7. Porforward regler, skriv:
    sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 60.70.80.90:8080
    sudo iptables -t nat -A POSTROUTING -p tcp -d 94.102.205.6 --dport 8080 -j SNAT --to-source 90.80.70.60
    sudo iptables -t nat -A POSTROUTING -j MASQUERADE
    sudo iptables -t nat -L -n
  8. For at gemme iptabels ændringerne, skriv:
    sudo iptables-save|sudo tee /etc/sysconfig/iptables

 

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *