Linux 端口转发的常用方法有哪些?好用的端口映射软件推荐

花生壳|2019-10-16

端口转发是一个常用的功能,不管是在服务器运维还是在领域,都需要用到。在近期遇到一个问题就是一个服务的端口不能进行配置,但是由于出口硬件防火墙的原因,为了不修改硬件防火墙的策略,所以只能在本地做端口转发。因此尝试和寻找了以下的几种方法。

0x01 iptables和firewall

iptables

iptables是我第一个想到的方法,但却是最后一个尝试的,因为我对iptables并不熟悉。

1、打开IP转发功能。

linux的IP转发功能是默认关闭的,而且根据很多安全加固策略以及安全基线的要求,IP转发功能必须关闭,所以需要先打开IP转发。需要长期使用的话则写入到sysctl的配置文件中。

1
2
echo 1 >/proc/sys/net/ipv4/ip_forward
sysctl -w /etc/sysctl.conf
2、配置iptables,在PERROUTING链中做DNAT。需要长期使用的话需要注意保存配置。

1
2
iptables -t nat -A PEROUTING -p tcp -i eth0 --dport 22222 -j DNAT --to x.x.x.x:22
service iptables save
wKioL1f1FnCiYRPyAABGq9RpkuY713.jpg

firewall

firewall是CentOS 7上替代iptables的服务。使用起来比iptables要稍微简单一点,直接使用firewall的端口转发就能实现。

1、打开端口转发功能

1
firewall-cmd --zone=public --add-forward-port=port=22222:proto=tcp:toport=22
在不增加toaddr的情况下,默认就是转发到自己的IP上。

如果需要长期使用则增加--permanent加入到永久规则即可。

0x02 rinetd端口映射转发工具

1、下载并解压rinetd

1
wget

2、安装rinetd

1
2
make
make install
安装过程可能遇到man目录不存在的问题,手动创建即可完成安装。

3、创建/etc/rinetd.conf并写入转发规则

配置文件中的规则格式为:

[Source Address] [Source Port] [Destination Address] [Destination Port]

源地址 源端口 目的地址 目的端口

wKioL1f1G2bQB1YWAAAXQw6IDt0601.jpg

使用iptables的命令要更直接一些。但写入规则的时候需要注意源端口不能被其他服务占用,并且也需要在iptables上打开。

4、运行rinetd

wKiom1f1HHChEz6EAAB51qoRUuc577.jpg

运行后即可发现,rinetd已经绑定了指定的端口。

如果需要长期使用,把命令写入开机启动即可。

0x03 lcx端口转发

lcx是中经常用的工具,使用简单。但一般用于Windows,由于没有shell版本的lcx,编译、安装等环节较为麻烦,因此比较少见。因此,lcx虽然是我第一个想到的实现方法,但却是实现的最麻烦的。

1、网上找到代码见附件

来源和参考:http://www.oldrss.com/article/hacker-00205.html

2、gcc编译

1
gcc lcx.c -o lcx
CentOS6.X & CentOS 7.0测试可以编译成功。

3、运行lcx

wKiom1f18xajaMuDAACXooGOD74723.jpg

使用方式较为简单,根据提示运行即可。

1
lcx -m 1 -h1 0.0.0.0 -p1 22222 -h2 127.0.0.1 -p2 22 -log /tmp/lcx.log
如果服务连接较多,建议不要记录日志,因为日志中会记录传输的所有数据,这样将会占用大量的空间,并且也可能会影响传输。

如果需要长期使用,设置开机启动并置入后台即可。

好用的端口映射软件推荐——花生壳

花生壳端口映射操作教程

第一步,前往花生壳官网(http://hsk.oray.com/ )下载花生壳3.2客户端并安装;或者百度搜索“花生壳”,进入官网下载软件;

第二步,登录花生壳3.2客户端,点击域名列表进入web管理页面;

第三步,点击【内网映射】—【添加映射】,跳出端口映射设置窗口;

第四步,填写端口映射信息。域名为注册花生壳时赠送的免费域名,也可添加其他域名。应用名称自定义,主机即为内网主机IP地址,选择好对外开放的端口,点击确定即可完成信息填写;

第五步,端口映射添加完毕后,即生成一个可供外网访问的地址,端口映射完成;

第六步,测试。在外网浏览器内输入该地址,即可访问到内网主机所搭建的服务应用,NAT穿透成功。

花生壳是国内较早一批拥有千万级用户量的内网穿透服务商。目前已自主研发花生壳软件以及花生棒、花生壳盒子等硬件。无需公网IP也能实现内网穿透服务。支持Windows、Linux、树莓派、iOS等操作系统,并可通过iPhone、安卓手机APP或微信进行远程管理。花生壳被广泛应用于微信公众号、小程序、HTTPS映射、淘宝客采集系统、视频监控 、遥感测绘、FTP 、企业OA等应用领域。