火山引擎私有网络使用指南-配置SNAT服务器

axin 2025-05-07 54人围观 ,发现0个评论 火山引擎云服务云服务器云服务器教程

👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>

本文为您展示如何自建SNAT服务器,实现多台服务器通过一台指定的云服务器访问公网。

背景信息

某企业自建一台SNAT服务器,使所有的未绑定公网IP的云服务器通过该云服务器访问公网。

说明
除了自建SNAT服务器外,您也可以使用公网NAT网关,公网NAT网关具有跨可用区容灾、可视化、便于管理等等优势,更多详情请参见 什么是公网NAT网关 。

前提条件

已创建一个VPC,并为其创建两个子网,每个子网中分别创建一台Linux系统的云服务器,VPC、子网和云服务器的信息与上图保持一致。
说明
请勿为ECS-A的主网卡开启源/目的地址检查,若开启,则其无法为ECS-B转发流量。更多详情请参考 配置源/目的地址检查 。

操作步骤

配置VPC路由

  1. 登录 路由表控制台 。

  1. 在顶部导航栏,选择目标地域和项目,本文示例“华北2(北京)”和“default”。

  1. 在路由表列表,单击目标系统路由表名称,进入路由表详情页面。

  1. 选择“路由条目 > 自定义路由”页签,单击“添加路由条目”按钮,弹出添加路由条目窗口。

  1. 添加目标网段为0.0.0.0/0,下一跳为ECS-A的自定义路由。

  1. 单击“确定”按钮,完成配置。

配置SNAT服务器

配置IP转发

  1. 远程登录云服务器ECS-A,详细请参见 登录实例 。

  1. 执行以下命令,打开配置文件sysctl.conf。

vi /etc/sysctl.conf
  1. 按i键进入编辑模式,新增以下内容,开启IP转发功能。

net.ipv4.ip_forward = 1
  1. 按esc键退出编辑模式,然后按:wq保存修改并退出。

  1. 执行以下命令,使配置生效。

sysctl -p /etc/sysctl.conf
配置SNAT规则
  1. 在ECS-A的命令行,执行以下命令,打开配置文件rc.local。

vi /etc/rc.local
  1. 按i键进入编辑模式,新增以下内容,配置SNAT规则。

iptables -t nat -A POSTROUTING -o <网卡接口> -s <SNAT规则的网段> -j SNAT --to <SNAT服务器的主私网IP>
文本示例:
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.0/24 -j SNAT --to 192.168.1.11
  1. 按esc键退出编辑模式,然后按:wq保存修改并退出。

  1. 执行以下命令,为rc.local文件授予执行权限。

chmod +x /etc/rc.local
  1. 执行reboot命令,重启云服务器。

  1. 执行以下命令,查看SNAT配置成功。

iptables -t nat --list
回显中包含SNAT相关信息,则表示SNAT配置成功,如下图所示。

验证

  1. 远程登录云服务器ECS-B,详细请参见 登录实例 。

  1. 执行以下命令,测试是否可以访问公网。

ping 8.8.8.8
回显如下图。表示ECS-B可以通过ECS-A部署的SNAT服务访问公网。

  1. 若配置后,网络仍不通,请检查您的安全组、网络ACL是否放通了对应流量。


不容错过
Powered By TOPYUN 云产品资讯