华为云SNAT 操作(脚本执行)

一、控制台:弹性云服务器

1.点击实例名称
在这里插入图片描述
2.点击网卡信息
在这里插入图片描述

3.关闭 源/目的检查
在这里插入图片描述

二、控制台:虚拟私有云VPC

1.点击路由表,进入路由表控制台
在这里插入图片描述
2.添加路由规则
在这里插入图片描述
在这里插入图片描述

三、登录服务器设置

1.登录有公网IP的那台服务器
2.确保需要上网的服务器和有公网的服务器同一内网
3.复制脚本执行

下面脚本更具个人情况更改网卡名称,个人开的华为云ECS服务器网卡名称好像都是叫 eth0 ,感觉是华为云的话应该没啥要改的

/etc/init.d/SNAT.sh

#!/bin/bash
### BEGIN INIT INFO
# Provides:          snat
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start SNAT daemon
# Description:       Start SNAT daemon
### END INIT INFO

iptables_set_snat() {
  #获取本机IP
  IP_addr=$(ip a s | grep eth0 | awk '{print $2}' | awk 'NR==2{print}')
  IP=${IP_addr%/*}
  #获取网段
  Network=$(route -n | grep eth0 | awk 'END{print $1}')
  Mask=${IP_addr#*/}
  Network_segment=$Network/$Mask
  #开启路由转换
  echo net.ipv4.ip_forward = 1 >>/etc/sysctl.conf
  sysctl -p
  #设置SNAT
  iptables -t nat -A POSTROUTING -s $Network_segment -j SNAT --to-source $IP
  #允许目标 forward
  iptables -A FORWARD -d $Network_segment -j ACCEPT
  iptables -A FORWARD -s $Network_segment -j ACCEPT
  #保存已设置的规则
  iptables-save >/etc/iptables.rules
}
iptables_set_snat

4.执行脚本

chmod 755 /etc/init.d/SNAT.sh
#执行
bash /etc/init.d/SNAT.sh

5.查看iptables 规则
iptables -nL
在这里插入图片描述

iptables -t nat --list
在这里插入图片描述

四、测试服务器通网

在这里插入图片描述

测试结果ok,同一vpc的服务器现在可以通过有公网IP的服务器进行访问外网

五、 设置开机执行

# 开启启动执行
cd /etc/init.d
sudo update-rc.d SNAT.sh defaults 90
# 取消开机执行
cd /etc/init.d
sudo update-rc.d -f SNAT.sh remove
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值