用iptables實現同機器和不同機器間的端口轉發

Iptables

將本機80端口的請求轉發到8080端口

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
  1. 如果需要本機也可以訪問,則需要配置OUTPUT鏈:

iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-ports 8080

兩機之間的端口轉發

  1. 將本機的81端口的請求全部轉發到192.168.1.1:80

  2. 首先要啓用ipv4的轉發功能:

echo 1 > /proc/sys/net/ipv4/ip_forward
  1. 或者是修改/etc/sysctl.conf (via)以便重啓後也會啓用轉發,然後設定iptables(via):

iptables -t nat -A PREROUTING -p tcp --dport 81 -j DNAT --to 192.168.1.1:80 
iptables -t nat -A POSTROUTING -j MASQUERADE
  1. 如果開啓了防火牆功能,注意要將80和81兩個端口都打開。

10.23.3.129上設置對10.21.1.91 443端口的轉發腳本:

#!/bin/sh
/sbin/iptables  -t nat -F
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A PREROUTING -p tcp  --dport 443 -j DNAT --to 10.21.1.91:443
/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE
/sbin/iptables -t nat -L -n


linux下最簡單的端口轉發工具:rinetd【如果覺得iptables使用複雜,可用下面的工具,比較簡單】

官網地址:http://www.boutell.com/rinetd


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章