Browsed by
標籤:iptables

[Linux] iptables ip/port forwarding

[Linux] iptables ip/port forwarding

※操作系統為Ubuntu-14.04.4-server-amd64
※使用者為root,如果不是用root操作,請記得加sudo

本機端上:

 

涉及轉送到其他機器的話,必須先開啟ip forward,有三種方法,但生效時間不一樣

 

進入主題,將封包轉送到其他機器上的指令

 

測試規則是否生效 (192.168.0.253是Server IP)

若成功了就會出現successed字樣
實際上server沒有服務在使用port 20022
但是因為我們設定了iptables做forward
所以這個封包並沒有進到server,而是直接被轉到內網的192.168.0.1
而192.168.0.1收到了封包,回傳會先經過server
server收到了回傳封包,透過POSTROUTING的規則,把封包傳回外網的機器

 

因為自定義的iptables rules在重開機之後就會消失
所以我們要在重開機後能自動復原rules

 

編輯/etc/network/interfaces,在檔案末端加入這行

 

這樣當網路卡啟用的同時,也會一併載入自訂的rules

 

 

Updates:
2017-01-18: 修正錯誤,sysctl重啟網卡後forward一樣會自動關閉,新增自動開啟的方法(第三種)。