inux下使用iptables实现端口转发,配置较为复杂,使用rinetd工具可以实现快速配置和修改端口转发。
例:本机ip:1.1.1.1 需要实现访问本机的8080端口,自动转发到2.2.2.2 80
下载软件:
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
安装软件:
tar xzvf rinetd.tar.gz
cd rinetd
make
make install
ps:执行make install时可能出现错误:缺少目录/usr/man/man8,此时执行 makedir -p/uar/man/man8即可
创建配置文件:
vim /etc/rinetd.conf(这个文件不存在,需要手工创建)
0.0.0.0 8080 2.2.2.2 80
ps:本机8080端口需要确认未被使用:netstat -antp | grep 8080 | grep -v grep
启动rinetd:
rinetd -c /etc/rinetd.conf
ps:需要确认进程中没有rinetd:ps ax | grep rinetd | grep -vgrep,如果有的话,需要删除该进程:pkill rinetd
配置文件格式:
bindaddress bindport connectaddress connectport
绑定的地址 绑定的端口 转发的地址 转发的端口
0.0.0.0 8080 2.2.2.2 80
将所有发往本机的8080端口的请求转发到2.2.2.2的80端口
1.1.1.1 8080 2.2.2.2 80
将所有发往1.1.1.1的8080端口的请求转发到2.2.2.2的80端口
以上命令在CentOS 6.2/ubuntu下测试通过