當前位置:編程學習大全網 - 源碼下載 - iptables端口復用和端口轉發

iptables端口復用和端口轉發

端口復用參考: Linux利用iptables做端口復用-Linux實驗室 (wanyunshuju.com)

端口轉發參考: 使用 iptables 進行端口轉發 - 51nb - 博客園 (cnblogs.com)

壹臺虛擬機:192.168.2.2(私網ip),8080端口tomcat服務

壹臺虛擬機:192.168.3.6(公網ip),192.168.2.10(私網ip),80端口apache服務

1、虛擬機(192.168.3.6)開啟轉發功能

vim /etc/sysctl.conf

輸入 net.ipv4.ip_forward=1

使用命令 sysctl -p 使配置生效

2、添加iptables規則實現端口轉發

iptables -t nat -I PREROUTING -i ens36 -d 192.168.3.6 -p tcp --dport 9090 -j DNAT --to-destination 192.168.2.2:8080

3、轉發成功

1、設置iptables規則

iptables -t nat -I PREROUTING -i ens36 -s 192.168.3.3 -d 192.168.3.6 -p tcp --dport 80 -j REDIRECT --to-port 22

2、攻擊機192.168.3.3使用XShell對192.168.3.6的80端口進行SSH連接

1、虛擬機(192.168.3.6)開啟轉發功能

vim /etc/sysctl.conf

輸入 net.ipv4.ip_forward=1

使用命令 sysctl -p 使配置生效

2、設置iptables規則,當且僅當192.168.3.3訪問時,192.168.3.6的80端口的ing"的TCP包,則將來源IP添加到MyChains的列表中

iptables -A INPUT -p tcp -m string --string "nihao123coming" --algo bm -m recent --set --name MyChains --rsource -j ACCEPT

4、設置關閉開關,如果接收到含有"nihao123leaving"的TCP包,則將來源IP從MyChains的列表中刪除

iptables -A INPUT -p tcp -m string --string "nihao123leaving" --algo bm -m recent --name MyChains --remove -j ACCEPT

5、當發現SYN包的來源IP處於MyChains的列表中,將跳轉到MyChains鏈進行處理,有效時間為3600秒

iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 --name MyChains --rsource -j MyChains

4、開啟復用,開啟後發送開啟命令的機器到目標80端口的流量將被轉發到目標20端口

驗證:

5、關閉復用

驗證:

  • 上一篇:為什麽要用Visual Studio寫Python代碼
  • 下一篇:指標目標量化思路20190107
  • copyright 2024編程學習大全網