AWS NAT-NetWork-Firwalld配置(二)
# 三、普通VPC
配置Network Firewall
# 3.1.Aws Network Firewall
传统"公有子网"、"私有子网"模式
这里的是一个
Demo
样例,感兴趣可以参考实践
# 四、NAT Network Firwalld
配置
# 4.1.官方参考文档
下面的架构图中的
Firewall subnet
和NAT gateway subnet
结构放反了;具体还需要参考下面的路由表进行调整配置
这里的"配置流量路由"下面的,路由表配置;结合上面的架构图进行配置调试
# 4.2.创建Firewall
子网及路由表
# Subnet
这里也是在
M10-VPC
(10.0.0.0/16),下面来创建子网
firewalld-50-subnet:
10.0.50.0/24
# Route Table
路由表名称:
M10-firwall-route
这里是需要将
Firewall
的子网路由指向NAT
网关上,过滤NAT
网关上的数据
# 4.3.创建Network Firewall
# 创建Firewall
规则组
这里需要创建两个规则组:
1.
test-domain-blacklist:
添加开放.baidu.com
、.google.com
两个域名的规则2.
test-ssh-firewall:
过滤从NAT Public Subnet
过来的ssh
数据包放行
# test-domain-blacklist
# test-ssh-firewall
# 创建Firewall
策略
# 创建Firewall
备注:
这里在创建
firewall
的时候可以同时一起创建firewall
的策略参考下面图片
# 终端节点
这里创建好
Network Firewall
之后,同时也会创建对应的网络数据层面的终端节点
"终端节点名称":
vpce-01e9cdc9236b65c85
"网络接口ID":
eni-039f458b2112d0c22
# 4.4.所有的路由调整
网络路由表的指向路径: 私有路由表添加默认路由关联上
Firewall
的"网络接口ID"(M10-private-route01
) --->Firewall
子网组添加默认路由关联上NAT
网关(M10-firwall-route
) ---> 公有子网(1.添加默认路由关联上互联网网关;2.添加私有子网路由关联上Firewall
的"网络接口ID")M10-Public-route
# 私有子网路由
路由表名称:
M10-private-route01
配置路由 | 关联子网 | 备注 |
---|---|---|
源: 0.0.0.0/0 网络接口ID: eni-039f458b2112d0c22 | 10.0.30.0/24 | 私有子网private-30-subnet |
源: 10.0.0.0/16 目标: local | ||
# Firewall
子网路由
路由表名称:
M10-firwall-route
配置路由 | 关联子网 | 备注 |
---|---|---|
源: 0.0.0.0/0 NAT网关: nat-0124d3d8c0690bb40 | 10.0.50.0/24 | Firewall 子网firewalld-50-subnet |
源: 10.0.0.0/16 目标: local | ||
# 公有子网路由(NAT)
路由表名称:
M10-Public-route
这个路由表是
NAT
关联的数据出口路由表
配置路由 | 关联子网 | 备注 |
---|---|---|
源: 0.0.0.0/0 互联网网关: igw-0284f8bac8d252969 | 10.0.10.0/24 | 公有子网public-10-subnet |
源: 10.0.0.0/16 目标: local | 10.0.20.0/24 | 公有子网public-10-subnet |
私有子网网段: 10.0.30.0/24 网络接口ID: eni-039f458b2112d0c22 | ||
# NAT Network Firwall
网络拓扑
# 五、EC2
服务器登录测试
# 5.1.EC2
服务器登录
- 1.先通过本地工具
ssh
登录上NAT
公有子网中的EC2
服务器
- 2.通过公有子网
EC2
连接上"私有子网"中的EC2
测试服务器
# 5.2.测试能否正常访问外网网址
这里测试主要通过
telnet
、curl
登录命令测试Network Firewall
规则组中,限制访问的网站地址
# curl www.baidu.com
[root@ip-10-0-30-22 ~]# curl www.baidu.com
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus></span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn"></span> </form> </div> </div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻</a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123</a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图</a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频</a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧</a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录</a> </noscript> <script>document.write('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');</script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品</a> </div> </div> </div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>©2017 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读</a> <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a> 京ICP证030173号 <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>
# curl www.google.com
[root@ip-10-0-30-22 ~]# curl www.google.com
<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="en-SG"><head><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"><meta content="/images/branding/googleg/1x/googleg_standard_color_128dp.png" itemprop="image">
......
D(f)||"":"";f=f||"";if(a.hasAttribute("jsname"))a=a.getAttribute("jsname");else{var C;a=null==(C=a.closest("[jsname]"))?void 0:C.getAttribute("jsname")}google.log("rcm","&ei="+c+"&ved="+f+"&jsname="+(a||""))}}else F=a,E=[c]}window.document.addEventListener("DOMContentLoaded",function(){document.body.addEventListener("click",G)});}).call(this);</script></body></html>
# telnet 测试baidu.com的 80、443端口
[root@ip-10-0-30-22 ~]# telnet www.baidu.com 80
Trying 45.113.192.101...
Connected to www.baidu.com.
Escape character is '^]'.
[root@ip-10-0-30-22 ~]# telnet www.baidu.com 443
Trying 45.113.192.101...
Connected to www.baidu.com.
Escape character is '^]'.
# telnet 测试google.com的 80、443端口
[root@ip-10-0-30-22 ~]# telnet www.google.com 80
Trying 64.233.170.99...
Connected to www.google.com.
Escape character is '^]'.
[root@ip-10-0-30-22 ~]# telnet www.google.com 443
Trying 64.233.170.147...
Connected to www.google.com.
Escape character is '^]'.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
备注:
1.目前来看测试一切都是正常的
2.网络不通排查的方向有如下两个方面
检查"公网安全组"和"私网安全组"
检查
Network Firewall
下面的"策略"和"规则";防火墙的规则需要仔细认真配置,因为"策略"和"规则"比较敏感容易出错