linux下簡單好用的工具rinetd,實現端口映射/轉發/重定向
官網地址http://www.boutell.com/rinetdlinux
軟件下載
wget http://www.boutell.com/rinetd/http/rinetd.tar.gztcp
解壓安裝
tar zxvf rinetd.tar.gz
make
make install
[root@PortForward02 rinetd]# make install
install -m 700 rinetd /usr/sbin
install -m 644 rinetd.8 /usr/man/man8
install: cannot create regular file `/usr/man/man8': No such file or directory
make: *** [install] Error 1
運行make可能會出現錯誤,需以下修改,將rinetd.c文件中bindPort >= 65536和connectPort >= 65536修改成65535,否則在make的時候會提示超出系統最大定義端口,按n能夠查找下一處
[root@PortForward02 rinetd]# mkdir -p /usr/man/
[root@PortForward02 rinetd]# make clean
[root@localhost rinetd]# make
cc -DLINUX -g -c -o rinetd.o rinetd.c
rinetd.c:176: warning: conflicting types for built-in function ‘log’
cc -DLINUX -g -c -o match.o match.c
gcc rinetd.o match.o -o rinetd
[root@localhost rinetd]# make install
install -m 700 rinetd /usr/sbin
install -m 644 rinetd.8 /usr/man/man8工具
編輯配置
vi /etc/rinetd.conf
0.0.0.0 8080 172.19.94.3 8080
0.0.0.0 2222 192.168.0.103 3389
1.2.3.4 80 192.168.0.10 80ui
說明一下(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端口進程
命令格式是
bindaddress bindport connectaddress connectport
綁定的地址 綁定的端口 鏈接的地址 鏈接的端口
或
[Source Address] [Source Port] [Destination Address] [Destination Port]
源地址 源端口 目的地址 目的端口get
啓動程序
pkill rinetd ##關閉進程
rinetd -c /etc/rinetd.conf ##啓動轉發
把這條命令加到/etc/rc.local裏面就能夠開機自動運行io
查看狀態
netstat -antupfunction
須要注意
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 ACCEPTgcc