惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
Google Online Security Blog
Google Online Security Blog
月光博客
月光博客
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
V
V2EX
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
M
MIT News - Artificial intelligence
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MongoDB | Blog
MongoDB | Blog
H
Help Net Security
The Cloudflare Blog
Blog — PlanetScale
Blog — PlanetScale
F
Full Disclosure
G
Google Developers Blog
罗磊的独立博客
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
A
About on SuperTechFans
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
GbyAI
GbyAI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
The Register - Security
The Register - Security
U
Unit 42
D
Docker
Martin Fowler
Martin Fowler
L
LINUX DO - 热门话题
NISL@THU
NISL@THU
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
博客园_首页
Google DeepMind News
Google DeepMind News

博客园 - EasonJim

将CSDN从搜索结果中剔除的方法 yum只下载不安装,并自动下载依赖文件 CentOS 7下KVM挂载物理硬盘/硬盘直通 宽带测速网站收集 mybatis+postgresql10插入返回主键ID git Filename too long Windows 10 MBR转GPT分区 Windows 10彻底关闭自动更新 Mac删除默认美国输入法 Mac添加自定义启动图标到Launchpad Mac安装Linux的KVM管理工具virt-manager CentOS 7配置成网关服务器 Mac/Ubuntu下的数据建模工具PDMan,替代PowerDesigner Docker卸载高版本重装低版本后启动提示:driver not supported Redis连接出现Error: Connection reset by peer的问题是由于使用Redis的安全模式 Mac流量监控/硬盘监控小工具 CentOS 7创建自定义KVM模板(现有KVM迁移到另外一台机) vi显示行号 阿里云与微软云的对照表
阿里云CentOS 7无外网IP的ECS访问外网(配置网关服务器)
EasonJim · 2019-01-02 · via 博客园 - EasonJim

说明:

1、必须要有一台机器具有外网IP的ECS。

2、如果不想配置具有外网IP的ECS时,可以购买NAT网关,但需要钱,贵。下面会说明NAT网关的配置。

3、最后吐槽一下阿里云VPC网关导致不能按照配置普通网关一样配置(参考:https://www.cnblogs.com/EasonJim/p/10206728.html),必须结合VPC配置0.0.0.0/0来进行下一跳,不然你在ECS怎么设置都无法成功。其实这个问题是由于VPC本身最上层做了NAT,并通过route查看会发现253这个地址有VPC占用,无论怎么配置0.0.0.0的下一跳都会先转到253这个地址。

下面是具体的配置:

环境:

ECS1(没外网IP):172.18.6.247

ECS2(有外网IP,其实是VPC做了NAT):172.18.6.248

1、具有外网IP的ECS2配置网关:

# 开启转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
# 生效
sysctl -p
# 配置iptables做SNAT
iptables -t nat -I POSTROUTING -s 172.18.6.0/24 -j SNAT --to-source 172.18.6.248
# 上述可以理解成:iptables -t nat -I POSTROUTING -s VPC的IP段 -j SNAT --to-source 有公网IP的ECS内网IP

2、在VPC增加0.0.0.0/0的下一跳为ECS2实例

那么此时在登录ECS1时,不用设置网关或者设置了网关都可以访问外网。

3、如果要做DNAT时,如下操作即可:

iptables -t nat -I PREROUTING -p tcp --dport 50022 -j DNAT --to 172.18.6.247:22 
# 可以这样理解: iptables -t nat -I PREROUTING -p tcp --dport 外网IP的ECS端口 -j DNAT --to 只有内网IP的ECS的IP:端口 

4、如果想要换成够买NAT网关来实现时,上面的配置基本不用,直接在VPC上这样配置即可实现上面SNAT和DNAT的全部功能。

参考:

https://yq.aliyun.com/articles/607330