本文的内容显示了1。准备2。对transit 3使用防火墙。在UFW换乘4号线。使用iptable。s代表transit 4.1。保存Centos 4.2下的规则。debian &;Ubuntu: 5下的保存规则。使用socat进行中转;6.设置目标机器。6.1.推荐阅读文章《什么是NAT VPS?NAT VPS可以用来做什么?NAT VPS商家推荐列表介绍,NAT VPS可以用于流量转发(主机端口转发),这也是NAT VPS的主要用途。有了NAT vps,中转的成本可以大大降低,带宽也不低于云厂商vps,用起来很爽!今天就来分享一下相关教程:本文基于CentOS 8和Debian 10 &;以Ubuntu 20.04为例,介绍如何在NAT VPS上设置流量转移。
开始之前,请根据实际操作系统对服务器进行所有必要的配置,并参考以下文章:
CentOS server Debian &的初始配置;Ubuntu服务器的初始化配置本文以sammy用户为例设置中转机,默认情况下,服务器已经按照初始化配置篇进行了配置。
本文将介绍防火墙、UFW、iptables和socat(推荐)四种转移流量的方法,并根据需要选择其中一种。您也可以将目标机器设置为只允许传输机器根据需要进行访问。
其中,firewalld、UFW和iptables都可以转发TCP和UDP,socat也可以转发包含域名的地址。
准备买一个合适的NAT VPS,这里有一些服务提供商了解NAT VPS的基本用法。比如了解NAT VPS,一般需要在服务提供商处查看设置端口映射Linux的基础知识,了解vim编辑器使用firewalld进行中转的基本用法。这种方法在CentOS下比较简单(CentOS 8默认使用firewalld),所以也推荐使用这种方法。
检查firewalld的运行状态,输出应该是:
Firewall-cmd –state接下来,设置端口转发:
Sudo防火墙-cmd –zone = public –permanent –add -port本地端口号/tcpudofirewall -cmd -zone = public –permanent –add -port本地端口号/ Udp sudo防火墙-cmd –zone = public –permanent –add -forward -port = port = port =本地端口号:proto=tcp:toport=目的端口号:toaddr=目的地址sudo防火墙-cmdlic –永久–add -forward -port = port =本地端口号:proto=udp:toport=目的端口号:toaddr=目的地址sudo防火墙-cmd -zone = public -永久–add -masquer。Adesudo firewall-cmd –reload其中目标地址是目标服务器的IP地址。
至此,介绍了firewalld设置中转的方法。此外,根据使用场景,目标机器的防火墙可以被配置为仅接受来自该NAT VPS的流量。
使用UFW转机。这种方法在Debian &;Ubuntu相对简单(Ubuntu 18.04默认使用UFW)。
首先,修改/etc/sysctl.conf文件:
echo ” net . IP v4 . IP _ forward = 1 ” | sudotee -a/etc/sysctl . conf sudo sysctl -p Modify/etc/default/ufw:
sudovim/etc/default/ufw default _ forward _ policy = ” accept ” modify/etc/ufw/before . rules:
Sudo vim /etc/ufw/before.rules添加在*过滤器之前:
# nat表规则* NAT:pre routing ACCEPT[0:0]:post routing ACCEPT[0:0]#端口转发-A pre routing –d端口本地端口号-J DNAT –to -目的地址:目的端口号-A pre routing -P UDP –d端口本地端口号-J DNAT –TO-D目的地址:目的端口号-A POSTROUTING -p tcp -d目的地址–d端口目的端口号 其中目标地址是目标服务器的IP地址,本地内联网地址是本地内联网的IP地址。
重启UFW:
sudo ufw禁用&。& amp至此,sudo UFW启用完成,并介绍了通过UFW设置中转的方法。此外,根据使用场景,目标机器的防火墙可以被配置为仅接受来自该NAT VPS的流量。
使用iptables进行中转。对于其他不使用firewalld的系统或用户,也可以使用iptables进行中转设置。
首先,修改/etc/sysctl.conf文件:
echo ” net . IP v4 . IP _ forward = 1 ” | sudotee -a/etc/sysctl . conf sudo sysctl -p显示不同端口(本地端口号和目的端口号不同)的传输方式如下:
Sudo iptables -t NAT -a预路由-p TCP –dport本地端口号-j DNAT –to-目的地址:目标端口号sudo iptables -t NAT -a预路由-p UDP –DP。Ort本地端口号-j DNAT –to-目的地址:目的端口号sudo iptables -tnat -A post routing -ptcp -D目的地址–dport目的端口号–j SNAT –to-源本地内网地址s . Udo iptables -T NAT -A post routing -P UDP -D目标地址–D端口目的端口号-j SNAT –to-源本地内网地址,其中目标地址是
CentOS sudo服务下的保存规则iptables保存debian &;Ubuntu下保存规则:sudo apt安装iptables -持久-y sudo netfilter -持久保存sudo netfilter -持久启动。至此,介绍了通过iptables设置transit的方法。此外,根据使用场景,目标机器的防火墙可以被配置为仅接受来自该NAT VPS的流量。
如果socat要转发的端口数量较少,我个人推荐这种方式。
首先安装socat,其中Debian & amp;以Ubuntu系统为例:
Sudo apt安装socat配置为TCP转发,服务文件可编辑,文件名可根据需要自行调整。本文以socat-tcp为例:
sudovim/etc/systemd/system/socat -TCP . service增加以下内容,注意替换本地端口号、目标地址和目标端口号,其中目标地址可以是IP地址,也可以是域名地址:
[Unit]Description=Socat TCP转发服务after = network . target[Service]Type = simpleCapabilityBoundingSet = CAP _ NET _ BIND _ serviceambientpabilities = CAP _ NET _ BIND _ SERVICEDynamicUser = true ExEC start =/usr/bin/Socat TCP 4-LISTEN:local port number,reuseaddr,fork TCP 4:destination address:destination port number restart = always[install]wanted by = multi -user . target接下来,启动Socat的TCP转发服务:
sudo system CTL enable SOCAT -tcpudo system CTL启动SOCAT -TCP如果需要UDP转发,继续编辑一个新文件,根据需要调整文件名。本文以socat-udp为例:
sudovim/etc/systemd/system/socat -UDP . service增加以下内容,注意替换本地端口号、目标地址和目标端口号,其中目标地址可以是IP地址,也可以是域名地址:
[Unit]Description=Socat UDP转发服务after = network . target[Service]Type = simpleCapabilityBoundingSet = CAP _ NET _ BIND _ serviceambientpabilities = CAP _ NET _ BIND _ SERVICEDynamicUser = true ExEC start =/usr/bin/Socat -T 60 UDP 4-LISTEN:local port number,reuseaddr,fork UDP 4:destination address:destination port number restart = always[install]wanted by = multi -user . target接下来,启动Socat的UDP转发服务:
Sudo system CTL enable SOCAT -UDP Sudo system CTL start SOCAT -UD本地防火墙释放此端口:
至此,sudo ufw allow的端口号在此,介绍socat设置transit的方法。此外,根据使用场景,目标机器的防火墙可以被配置为仅接受来自该NAT VPS的流量。
注意:使用nohup直接启动socat转发TCP。
nohup/usr/bin/socat -dtcp 4-listen:本地端口号,reuseaddr,fork,su=nobody TCP4:目的地址:目的端口号> & gt/var/log/socat . log 2 & gt;& amp1 & ampnohup/usr/bin/socat -d -t 60 UDP 4-listen:本地端口号,reuseaddr,fork,su=nobody UDP4:目的地址:目的端口号> & gt/var/log/socat . log 2 & gt;& amp1 & amp以上两个命令都可以在root用户下执行。
目标机器的设置本例中的目标机器是Debian &;安装并启用了UFW的Ubuntu系统:
要允许TCP和UDP入站:
Sudo ufw允许从中转地址到任何端口的端口号,如果需要,只允许TCP进入:
Sudo ufw允许proto tcp从中转地址到任何端口的端口号,如果需要,只允许UDP进入:
Sudo ufw允许proto udp从中转地址到上面命令中的任意端口端口号,中转地址是NAT VPS的公共IP地址。
其他系统和其他防火墙控制软件的操作类似,只是从NAT VPS释放IP的指定端口号。
最后列举了一些提供NAT VPS的业务,供读者参考:
米库云双12活动:全场8.5折优惠,含香港HKT VDS/NAT、香港HGC业务宽VPS、美国BGP NAT Recloud:新客户可享受30天免费优惠,可选择马来西亚NAT、马来西亚存储NAT VPS,低至25元/月!微云微云服务条款TOS发布!可选郑州联通和镇江电信专属主机,广州移动VDS,NAT VPS(香港Azure NAT,新加坡Azure NAT,韩国Azure NAT,日本Azure NAT),上海BGP专属VPS Goo Goo Cloud 618活动:香港轻量级200M带宽云服务器256元/年,香港服务器低至88元/年,爆款NAT 1核1G云服务器一年仅需256元。WebHorizon新加坡NAT VPS:1.1美元/月/1核/256MB内存/5GB NVMe空间/250GB月流量/1Gbps端口/kvmwwishosting大硬盘闪购250Mbps带宽无限月流量套餐:德国1800GB大硬盘NAT VPS仅需7美元/月&;美国弗吉尼亚州200GB硬盘VPS仅需5美元/月:799.9元/年/384MB内存/8GB空间/无限流量/10Mbps-40Mbps带宽,专属/KVM/广钢IPLC/深港IEPL/沪日IPLC/沪韩IPLC/京德IPLC。
评论前必须登录!
注册