本文最后更新于 2020 年 6 月 3 日
本文以 CentOS 8 和 Debian 10 & Ubuntu 20.04 为例,介绍如何在 NAT VPS 上设置流量中转。
开始前,请先根据实际使用的操作系统,参照以下文章对服务器进行各种必要的配置:
本文以 sammy
用户为例,进行中转机的设置,并默认已按初始化配置文章对服务器进行了配置。
本文将介绍四种方法:firewalld
,UFW
,iptables
,和 socat
(推荐)来进行流量中转,根据需要选取其中一种方法操作即可。亦可根据需要,将目标机设置为只允许中转机访问。
其中,firewalld
,UFW
,iptables
均可对 TCP 和 UDP 进行转发,而 socat
还可以对包含域名的地址进行转发。
准备
- 购买合适的 NAT VPS,此处提供一些服务商
- 了解 NAT VPS 的基本使用方法,例如搞清楚 NAT VPS 一般需要在服务商处查看端口映射的设置
- 基础 Linux 操作知识,并了解
vim
编辑器的基本使用方法
使用 firewalld 进行中转
此方法在 CentOS 下较为简便(CentOS 8 默认使用 firewalld),因此也推荐使用此方法。
检查 firewalld 运行状态,输出应为 running
:
接下来设置端口转发:
1 2 3 4 5 6
| 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=本机端口号:proto=tcp:toport=目标端口号:toaddr=目标地址 sudo firewall-cmd --zone=public --permanent --add-forward-port=port=本机端口号:proto=udp:toport=目标端口号:toaddr=目标地址 sudo firewall-cmd --zone=public --permanent --add-masquerade sudo firewall-cmd --reload
|
其中 目标地址
为目标服务器的 IP 地址。
至此,利用 firewalld
设置中转的方法介绍完毕。另可根据使用场景,对目标机的防火墙进行配置,令其只接受来自此 NAT VPS 的流量。
Read More