GNU/Linux >> Belajar Linux >  >> Linux

IPTables - Port ke ip &port lain (dari dalam)

Saya akhirnya menemukan caranya. Pertama, saya harus menambahkan -i eth1 ke aturan "luar" saya (eth1 adalah koneksi WAN saya). Saya juga perlu menambahkan dua aturan lainnya. Di sini pada akhirnya saya datang dengan :

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8080 -j DNAT --to 10.32.25.2:80
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to 10.32.25.2:80
iptables -t nat -A POSTROUTING -p tcp -d 10.32.25.2 --dport 80 -j MASQUERADE

Anda juga lupa menyebutkan bahwa penerusan paket harus diaktifkan agar dapat melakukan NAT tujuan. Secara default, biasanya tidak aktif, jadi aturan iptables tidak akan berfungsi. Ini dapat diaktifkan dengan menerbitkan:

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

Pertama izinkan penerusan dengan

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

Kemudian atur aturan iptable dengan

IF=eth1
PORT_FROM=8080
PORT_TO=80
DEST=10.32.25.2
iptables -t nat -A PREROUTING -i $IF -p tcp --dport $PORT_FROM -j DNAT --to $DEST:$PORT_TO
iptables -t nat -A POSTROUTING -p tcp -d $DEST --dport $PORT_TO -j MASQUERADE

Anda dapat memasukkan baris-baris ini ke dalam /etc/rc.local Misalnya. Catatan:karena Debian jessie membuatnya dapat dieksekusi dan mengaktifkan layanan rc.local melalui

systemctl enable rc-local.service

Linux
  1. Panel Kontrol Plesk Tidak Tersedia dari Dalam Intranet

  2. Mengubah aturan IPset dari IPtables ke Firewalld di CentOS/RHEL 7

  3. Bagaimana cara menghapus garis yang muncul pada file B dari file A lainnya?

  1. Akses thread-local dari thread lain

  2. AWS VPC + Tabel IP + NAT:Penerusan Port tidak berfungsi

  3. Bagaimana cara meneruskan port dari satu mesin ke mesin lainnya?

  1. Koneksi Ssh Ditolak Dari Dalam Lan?

  2. Tidak dapat mengakses port 80 dari lokasi jauh tetapi berfungsi di lokal?

  3. Bagaimana cara mencatat alamat ip yang mencoba terhubung ke port?