网络安全技术 ·

linux下端口转发


简介:

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.conf  0.0.0.0 8080 8.210.235.249 8080  0.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   执行脚本安装命令

参与评论