Linux下实现端口转发的方式有很多,很多人还是比较推荐iptables,但是我不是很习惯,主要是centos和ubuntu的命令不一样,我又记不住那么多,所以就直接使用rinetd来实现端口转发了。
Rinetd相关网站:http://www.rinetd.com/(虽然看着像官方,但是不确认是不是)
一、编译安装Rinetd
wget https://wget.cloud/archive/rinetd/0.62/rinetd.tar.gz # 当前的最新版本 tar xvf rinetd.tar.gz # 解压文件 cd rinetd # 进入到文件夹 sed -i 's|65536|65535|g' rinetd.c mkdir /usr/man # 创建rinetd所需文件 make # 编译 make install # 安装
二、转发规则配置
rinetd的转发规则默认为
bindaddress bindport connectaddress connectport
比如可以设置为
0.0.0.0 80 x.x.x.x 80
三、允许、拒绝规则配置
允许默认的规则为
allow pattern
比如可以设置为
allow x.x.x.*
拒绝的话,把allow
改为deny
四、日志配置
默认情况下,rinetd没有日志的,如果要启动日志,需要自己进行配置。
日志默认配置为
logfile log-file-location
比如可以配置为
logfile /var/log/rinetd.log
五、运行可选项
rinetd -c /etc/rinetd.conf # 启动rinetd
- -v 显示版本
- -h 显示帮助
- -c 指定配置文件
六、重新加载
ps -ef|grep rinetd # 查看pid kill -9 pid # 杀死线程
如果pid被占用的话,可以删除掉/var/run/rinetd.pid