本文的内容
显示
1.
准备
2.
使用防火墙进行传输。
3.
使用UFW作为中转地。
4.
使用iptables进行中转。
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服务器的初始配置
Debian Ubuntu服务器的初始化配置
本文以sammy用户为例来设置中转器,服务器默认已经按照初始化配置文章进行了配置。
本文将介绍防火墙、UFW、iptables和socat(推荐)四种转移流量的方法,并根据需要选择其中一种。您也可以将目标机器设置为只允许传输机器根据需要进行访问。
其中有防火墙、UFW、iptables?TCP和UDP都可以转发,而?socat?您还可以转发包含域名的地址。
准备
买个合适的NAT VPS,这里也有一些服务商。
了解NAT VPS的基本用法。例如,要理解NAT VPS,您通常需要检查服务提供商的端口映射设置。
Linux操作基础知识和理解?vim?编辑器的基本用法
使用防火墙进行传输。
这种方法在CentOS下相对简单(CentOS 8默认使用firewalld),所以也推荐使用。
检查firewalld的运行状态,输出应该是?跑步:
防火墙-命令-状态
接下来,设置端口转发:
sudo firewall-cmd-zone=public-permanent-add-port本地端口号/tcp。
sudo firewall-cmd-zone=public-permanent-add-port本地端口号/udp。
sudo firewall-cmd-zone=public-permanent-add-forward-port=port=local端口号:proto=tcp:toport=目的端口号:toaddr=目的地址。
sudo firewall-cmd-zone=public-permanent-add-forward-port=port=local端口号:proto=udp:toport=目的端口号:toaddr=目的地址。
sudo防火墙-cmd-zone=public-permanent-add-masqueue
sudo防火墙-cmd -重新加载
其中?目标地址?是目标服务器的IP地址。
此时,使用?防火墙?介绍了建立中转的方法。此外,根据使用场景,目标机器的防火墙可以被配置为仅接受来自该NAT VPS的流量。
使用UFW作为中转地。
这个方法在Debian Ubuntu下相对简单(Ubuntu 18.04默认使用UFW)。
你要先修改?/etc/sysctl.conf?文件:
echo ' net . IP v4 . IP _ forward=1 ' | sudo tee-a/etc/sysctl . conf
sudo sysctl -p
修改?/etc/default/ufw?
sudo vim /etc/default/ufw
DEFAULT_FORWARD_POLICY='接受'
修改?/etc/ufw/before.rules?
sudo vim /etc/ufw/before.rules
你在线吗?*过滤器?在之前添加:
# nat表规则
#端口转发
#提交以应用更改
犯罪
目的地地址在哪里?是目标服务器的IP地址和本地intranet地址?是本机在内部局域网中的IP地址。
重启UFW:
sudo ufw禁用sudo ufw启用
此时,使用?UFW?介绍了建立中转的方法。此外,根据使用场景,目标机器的防火墙可以被配置为仅接受来自该NAT VPS的流量。
使用iptables进行中转。
对于其他不使用firewalld的系统或用户,也可以使用iptables进行中转设置。
你要先修改?/etc/sysctl.conf?文件:
echo ' net . IP v4 . IP _ forward=1 ' | sudo tee-a/etc/sysctl . conf
sudo sysctl -p
下面显示了不同端口的传输方法(本地端口号和目的端口号不同):
sudo iptables-t NAT-a pre routing-p TCP-d port本地端口号- j DNAT - to-destination目的地址:目的端口号。
sudo iptables-t NAT-a pre routing-p UDP-dport本地端口号- j DNAT - to-destination目的地址:目的端口号。
sudo iptables-t NAT-a post routing-p TCP-d目的地址-d端口目的端口号- j SNAT -源本地网络地址。
sudo iptables-t NAT-a post routing-p UDP-d目的地址-d端口目的端口号- j SNAT -源本地内部网地址。
其中,目标地址是目标服务器的IP地址,本地内网地址是本地网络的IP地址。
将规则保存在CentOS下
sudo服务iptables保存
在Debian Ubuntu下保存规则:
sudo apt安装iptables-persistent -y
sudo netfilter-持久保存
sudo netfilter-持续启动
此时,使用?iptables?介绍了建立中转的方法。此外,根据使用场景,目标机器的防火墙可以被配置为仅接受来自该NAT VPS的流量。
使用socat进行中转。
如果要转发的端口数量较少,我个人推荐这种方法。
首先安装socat,以Debian Ubuntu系统为例:
sudo apt安装socat
配置TCP转发,编辑服务文件,并根据需要调整该文件名。socat-tcp?例如,文件名:
sudo vim/etc/systemd/system/socat-TCP . service
添加以下内容,并注意替换?本地端口号,目的地址,目的端口号,目的地址在哪里?它可以是IP地址或域名地址:
[单位]
Description=Socat TCP转发服务
After=network.target
[服务]
类型=简单
CapabilityBoundingSet=CAP _ NET _ BIND _ SERVICE
ambient capabilities=CAP _ NET _ BIND _ SERVICE
DynamicUser=true
execstart=/usr/bin/socattcp 4-listen:本地端口号,reuseaddr,fork TCP4:目的地址:目的端口号。
重启=始终
[安装]
WantedBy=多用户.目标
然后,启动socat的TCP转发服务:
sudo systemctl启用socat-tcp
sudo systemctl start socat-tcp
如果需要UDP转发,请继续编辑新文件,并根据需要调整文件名。socat-udp?例如,文件名:
sudo vim/etc/systemd/system/socat-UDP . service
添加以下内容,并注意替换?本地端口号,目的地址,目的端口号,目的地址在哪里?它可以是IP地址或域名地址:
[单位]
描述=Socat UDP转发服务
After=network.target
[服务]
类型=简单
CapabilityBoundingSet=CAP _ NET _ BIND _ SERVICE
ambient capabilities=CAP _ NET _ BIND _ SERVICE
DynamicUser=true
execstart=/usr/bin/SOCAT-T 60 UDP 4-Listen:本地端口号,reuseaddr,fork UDP4:目的地址:目的端口号。
重启=始终
[安装]
WantedBy=多用户.目标
然后,启动socat的UDP转发服务:
sudo systemctl启用socat-udp
sudo systemctl start socat-ud
此端口被本地防火墙清除:
Sudo ufw允许本地端口号
此时,使用?socat?介绍了建立中转的方法。此外,根据使用场景,目标机器的防火墙可以被配置为仅接受来自该NAT VPS的流量。
注意:使用nohup直接启动socat转发TCP。
nohup/usr/bin/socat-dtcp 4-listen:本地端口号,reuseaddr,fork,su=nobody TCP4:目的地址:目的端口号/var/log/socat.log21。
nohup/usr/bin/SOCAT-D-T 60 UDP 4-Listen:本地端口号,reuseaddr,fork,su=nobody UDP4:目的地址:目的端口号/var/log/SOCAT.log21。
以上两个命令可以在?根?在用户下执行。
目标机器的设置
此处示例的目标机器是Debian Ubuntu系统,安装并启用了UFW:
要允许TCP和UDP入站:
Sudo ufw允许从中转地址到任何端口的端口号。
要仅允许TCP入站:
Sudo ufw允许proto tcp从中转地址到任何端口的端口号。
要仅允许UDP入站:
Sudo ufw允许proto udp从中转地址到任意端口端口号。
在上面的命令中,中转地址是NAT VPS的公共IP地址。
其他系统和其他防火墙控制软件的操作类似,只是从NAT VPS释放IP的指定端口号。
最后列举了一些提供NAT VPS的业务,供读者参考:
米酷云双12活动:全场7.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。
咕咕云618活动:香港轻量级200M带宽云服务器256元/年,香港服务器低至88元/年,爆款NAT?1芯1G云服务器支付仅需256元。
WebHorizon新加坡NAT?VPS:1.1美元/月/1核/256MB内存/5GB NVMe空间/250GB月流量/1Gbps端口/KVM。
Wishosting大硬盘闪购250Mbps带宽不限月流量套餐:德国1800GB大硬盘NAT?VPS每月只需7美元。美国弗吉尼亚州200GB硬盘的VPS仅需5美元/月。
墨云:799.9元/年/384MB内存/8GB空间/无限流量/10Mbps-40Mbps带宽,专属/KVM/广钢IPLC/深港IEPL/沪日IPLC/沪韩IPLC/景德IPLC。
西部数码代理(chenqinet.cn)是工信部、ICANN、CNNIC认证的全球顶级域名注册服务机构,中国五星级域名注册商!超过2000万个域名通过西部数码代理注册和管理,超过100万个网站托管在西部数码代理云服务器和虚拟主机。西部数码代理支持数十个顶级域名的注册和管理,支持批量查询、批量注册、批量分析、智能分析、批量迁移等便捷易用的功能,使用体验非常好。
目前西部数码代理域名注册在售,最低只要1元!
更多详情,请见http://zhuji.chenqinet.cn/services/domain/.
西部数码代理域名抢占预订,支持各类高价值老域名抢占,支持“网站历史、百度收录、百度权重、历史外链、百度评价、搜狗反链接”等综合搜索功能,共计26项!可以快速准确的定位到你想要定位的各类精品域名!同时,西部数码代理域名抢注整合了全球多家抢注厂商(将陆续增加近200家抢注厂商),梳理出13个抢注渠道,从根本上提高抢注成功率!
其中第一关成功率高达99%。每天西部数码代理预发布功能也会发布一些优质的过期域名,可以直接注册拍卖。
预定你最喜欢的域名:http://zhuji.chenqinet.cn/services/grab/index.asp.