Bruce Blog Bruce Blog
首页
  • CentOS
  • Ubuntu-Debian
  • 系统网络
  • 系统辅助工具
  • MySQL
  • Redis
  • Mongodb
  • Docker基础
  • Container基础
  • Kubernetes

    • Kubernetes基础
    • Kubernetes辅助
  • Container-Network
  • Jenkins
  • Gitlab
  • ArgoCD
  • Ansible
  • Terraform
  • AWS
  • MQ
  • NGINX
  • JumpServer
  • 基础
  • 函数模块
  • 框架
  • 基础

    • Golang环境
    • 语法
    • 数据类型与运算符
    • 分支语句
    • 循环语句
    • 数组
    • 切片
    • Map
    • String
    • 函数
    • 包的管理
    • 指针
    • 结构体
    • Go语言中的OOP
    • 方法和接口
    • 错误处理
  • Go进阶

    • Go进阶
  • Go框架

    • Go框架
  • Golang辅助

    • Golang辅助
  • CSS
  • HTML
  • JavaScript
  • 前端辅助
  • 常用命令
  • 性能监控工具
  • Windows下Docker使用
  • 日常学习
  • 其他导航

Bruce Tao

运维界的该溜子
首页
  • CentOS
  • Ubuntu-Debian
  • 系统网络
  • 系统辅助工具
  • MySQL
  • Redis
  • Mongodb
  • Docker基础
  • Container基础
  • Kubernetes

    • Kubernetes基础
    • Kubernetes辅助
  • Container-Network
  • Jenkins
  • Gitlab
  • ArgoCD
  • Ansible
  • Terraform
  • AWS
  • MQ
  • NGINX
  • JumpServer
  • 基础
  • 函数模块
  • 框架
  • 基础

    • Golang环境
    • 语法
    • 数据类型与运算符
    • 分支语句
    • 循环语句
    • 数组
    • 切片
    • Map
    • String
    • 函数
    • 包的管理
    • 指针
    • 结构体
    • Go语言中的OOP
    • 方法和接口
    • 错误处理
  • Go进阶

    • Go进阶
  • Go框架

    • Go框架
  • Golang辅助

    • Golang辅助
  • CSS
  • HTML
  • JavaScript
  • 前端辅助
  • 常用命令
  • 性能监控工具
  • Windows下Docker使用
  • 日常学习
  • 其他导航
  • Ansible

  • Terraform

  • AWS

    • AWS NAT-NetWork-Firwalld配置(一)
    • AWS NAT-NetWork-Firwalld配置(二)
      • 三、普通VPC配置Network Firewall
        • 3.1.Aws Network Firewall
      • 四、NAT Network Firwalld配置
        • 4.1.官方参考文档
        • 4.2.创建Firewall子网及路由表
        • Subnet
        • Route Table
        • 4.3.创建Network Firewall
        • 创建Firewall规则组
        • test-domain-blacklist
        • test-ssh-firewall
        • 创建Firewall策略
        • 创建Firewall
        • 终端节点
        • 4.4.所有的路由调整
        • 私有子网路由
        • Firewall子网路由
        • 公有子网路由(NAT)
        • NAT Network Firwall网络拓扑
      • 五、EC2服务器登录测试
        • 5.1.EC2服务器登录
        • 5.2.测试能否正常访问外网网址
  • Cloud
  • AWS
Bruce
2024-04-09
目录

AWS NAT-NetWork-Firwalld配置(二)

# 三、普通VPC配置Network Firewall

# 3.1.Aws Network Firewall

传统"公有子网"、"私有子网"模式

这里的是一个Demo样例,感兴趣可以参考实践

  • Aws Network Firewall配置Demo (opens new window)

image-20240407194644976

# 四、NAT Network Firwalld配置

# 4.1.官方参考文档

  • 带有互联网网关和NAT网关的架构 (opens new window)

下面的架构图中的Firewall subnet和NAT gateway subnet结构放反了;具体还需要参考下面的路由表进行调整配置

image-20240407213833803

  • 如何使用 NAT 网关设置 AWS Network Firewall (opens new window)

这里的"配置流量路由"下面的,路由表配置;结合上面的架构图进行配置调试

# 4.2.创建Firewall子网及路由表

# Subnet

这里也是在M10-VPC(10.0.0.0/16),下面来创建子网

firewalld-50-subnet: 10.0.50.0/24

image-20240408224103264

image-20240408224119649

image-20240408224202742

# Route Table

路由表名称: M10-firwall-route

image-20240408224628446

image-20240408224736630

这里是需要将Firewall的子网路由指向NAT网关上,过滤NAT网关上的数据

image-20240408224949366

image-20240408225201040

# 4.3.创建Network Firewall

# 创建Firewall规则组

这里需要创建两个规则组:

1.test-domain-blacklist: 添加开放.baidu.com、.google.com两个域名的规则

2.test-ssh-firewall: 过滤从NAT Public Subnet过来的ssh数据包放行

# test-domain-blacklist

image-20240408231907025

image-20240408231826767

image-20240408232010790

image-20240408232038257

image-20240408232114543

image-20240408232127468

image-20240408232152025

image-20240408232321377

# test-ssh-firewall

image-20240408232433816

image-20240408232457431

image-20240408232758273

image-20240408232823678

image-20240408233027475

image-20240408233237083

image-20240408233429985

image-20240408233502726

image-20240408233528100

image-20240408233550003

image-20240408233606479

image-20240408233621948

# 创建Firewall策略

image-20240408233841720

image-20240408233949075

image-20240408234243543

image-20240408234412973

image-20240408234446235

image-20240408234509915

image-20240408234533077

image-20240408234548253

image-20240408234604562

image-20240408234708610

image-20240408234722797

image-20240408234754929

# 创建Firewall

image-20240408223459485

image-20240408225729021

image-20240408230143291

image-20240408230239825

image-20240408230907270

image-20240408230921362

image-20240408230936361

image-20240408230954801

image-20240408231020375

备注:

这里在创建firewall的时候可以同时一起创建firewall的策略

参考下面图片

image-20240408230756604

image-20240408230835674

# 终端节点

这里创建好Network Firewall之后,同时也会创建对应的网络数据层面的终端节点

"终端节点名称": vpce-01e9cdc9236b65c85

image-20240408235106409

"网络接口ID": eni-039f458b2112d0c22

image-20240408235314280

# 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网络拓扑

image-20240409013403675

# 五、EC2服务器登录测试

# 5.1.EC2服务器登录

  • 1.先通过本地工具ssh登录上NAT公有子网中的EC2服务器

image-20240409013837549

  • 2.通过公有子网EC2连接上"私有子网"中的EC2测试服务器

image-20240409014050219

# 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&amp;tpl=mn&amp;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>&copy;2017&nbsp;Baidu&nbsp;<a href=http://www.baidu.com/duty/>使用百度前必读</a>&nbsp; <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a>&nbsp;京ICP证030173号&nbsp; <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 '^]'.
1
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下面的"策略"和"规则";防火墙的规则需要仔细认真配置,因为"策略"和"规则"比较敏感容易出错

AWS NAT-NetWork-Firwalld配置(一)

← AWS NAT-NetWork-Firwalld配置(一)

最近更新
01
AWS NAT-NetWork-Firwalld配置(一)
04-09
02
kubernetes部署minio对象存储
01-18
03
Jenkins-Argocd CICD-下
01-17
更多文章>
Theme by Vdoing | Copyright © 2019-2024 Bruce Tao Blog Space | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式