最近云鼎群有很多朋友开始尝试搭建属于自己的VPS品牌。但很多人因为资金紧张,不得不选择单IP的服务器(下称母鸡)。因此,NAT VPS应运而生。NAT VPS,顾名思义,利用NAT技术使单IP的利用率最大化。因为共用一个IP,所以每位用户只能共享母鸡的1–65535端口区间中的任意一个端口。然而,有许多用户不知道如何转发VPS的内网端口。今天,X-osadmin在这里向大家介绍三种转发端口的方法。
1.通过Rinetd软件
评价:简单,适合新手
这款软件由boutell开发,是一款小巧的端口转发软件。安装也十分的简单。
安装方法:
wget –no-check-certificate https://boutell.com/rinetd/http/rinetd.zip
unzip rinetd.zip
cd rinetd
mkdir /usr/man
make && make install
安装大概半分钟至一分钟即可完成。剩下的,就是配置环节。
- 创建空配置文件(touch /etc/rinetd.conf)
- 写入配置
写入配置时,请注意按照以下格式:
[Source Address] [Source Port] [Destination Address] [Destination Port]
例如:我们要转发1.2.3.4(公网IP)的8080端口到192.168.0.2的80端口,按照下面的方法填写:
0.0.0.0 8080 192.168.0.2 80
Almost done! 保存设置,启动rinetd(rinetd -c /etc/rinetd.conf)
** 可以将本程序的进程写入后台或者包装成服务,并设置开机启动
2. 通过addnat.sh(仅适合SolusVM+虚拟机的架构)
评价:对于SolusVM新手来说,非常合适
顾名思义,这是一个脚本,使用方法也非常的简单。
wget http://down2.unix.website/linuxshell/addnat.sh
sh addnat.sh
接下来只需要按照提示进行填写,脚本将自动设置好转发。
Please input your public IP: (你的母鸡公网地址)
How many···use: (这里是问需要映射几个段的内网IP地址,可以1,最多5)
完成后,请注意以下端口分配规则:
基础规则是 10.0.C.D 的内网IP(此例子C为1,D最多是3位数)
SSH端口是 61D(D不足3为前面补0)
可用端口是 1D1 – 1D9(D不足3为前面补0)具体案例: 10.0.1.56
SSH端口是 61056
可用端口是 10561 – 10569默认NAT网关:10.0.1.1–10.0.5.1 (取决于映射的内网IP段数)
3. 通过iptables映射或转发
评价:不适合新手使用
iptables是Linux系统中集成的防火墙(CentOS 7等新系统已经更换成Firewalld),但因为其自带的NAT功能,所以被广泛用于端口转发用途。
因为系统内已经集成了iptables,所以我们只需要输入命令进行配置即可。
首先需要开启内核转发功能(必须):echo 1 > /proc/sys/net/ipv4/ip_forward
举例:把192.168.0.2(内网)的80端口转发到1.2.3.4(公网)的8080端口
iptables -t nat -A PREROUTING -p tcp -m tcp –dport 8080 -j DNAT –to-destination 192.168.0.2:8080
配置完成后,还需要开启端口及保存设置:
iptables -I INPUT -p tcp/udp –dport 8080 -j ACCEPT
service iptables save / yum install iptables-services && service iptables save(适合CentOS 7等系统)
以上是比较主流的几种端口转发/映射的方式。不排除有其他的方式,欢迎在下方讨论。
📮Comments