文章來源: Admin Team
簡介:
linux下簡單好用的工具rinetd,實作端口映射/轉發/重定向
0x01 rinetd端口轉發
Rinetd是為在一個Unix和Linux作業系統中為重定向傳輸控制協定(TCP)連接配接的一個工具。Rinetd是單一過程的伺服器,它處理任何數量的連接配接到在配置檔案etc/rinetd中指定的位址/端口對。盡管rinetd使用非閉鎖I/O運作作為一個單一過程,它可能重定向很多連接配接而不對這台機器增加額外的負擔1、準備配置環境
wget http://www.rinetd.com/download/rinetd.tar.gz
2、解壓安裝
tar zxvf rinetd.tar.gz 解壓cd rinetd 進入rinetd目錄make 安裝編譯make install
安裝編 譯
3、編輯配置
$ vim /etc/rinetd.conf0.0.0.0 8080 8.210.235.249 80800.0.0.0 22 39.108.159.100 22
說明一下(0.0.0.0表示本機綁定所有可用位址)
将所有發往本機8080端口的請求轉發到172.19.94.3的8080端口
将所有發往本機2222端口的請求轉發到192.168.0.103的3389端口
将所有發往1.2.3.4的80端口請求轉發到192.168.0.10的80端口
指令格式是
綁定的位址 綁定的端口 連接配接的位址 連接配接的端口 或 源位址 源端口 目的位址
目的端口
pkill rinetd #關閉程序rinetd -c /etc/rinetd.conf ##啟動轉發#把這條指令加到/etc/rc.local裡面就可以開機自動運作
啟動程式
檢視狀态
注意事項:
1.rinetd.conf中綁定的本機端口必須沒有被其它程式占用2.運作rinetd的系統防火牆應該打開綁定的本機端口例如:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1111 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT
0x02 iptables端口轉發
拓撲圖
進入系統檢視目前使用的端口情況
netstat -atnl
系統裡邊的22端口是使用的,這裡開啟一下系統的ip轉發
echo 1 > /proc/sys/net/ipv4/ip_forward
也可通過編輯/etc/sysctl.conf檔案來啟用ip轉發,然後再使用sysctl指令使其生效
推薦一個一鍵腳本: wget -N --no-check-certificate https://raw.githubusercontent.com/hugoyue/doubi/master/iptables-pf.sh && chmod +x iptables-pf.sh && bash iptables-pf.sh 執行腳本安裝指令
推薦文章++++
*Linux端口轉發的幾種常用方法
*Lcx 簡單端口轉發
*基于 Portfwd 端口轉發