firewalld 防火墙 nat 网络地址转换
目的:实现以下效果

一、 准备环境
@1 三台虚拟机
@2 client 端 ip 192.168.1.2 server端 两块网卡 , ip 分别是 192.168.1.1 和 172.16.100.1 web端 ip 为 172.16.100.3
注:虚拟机添加网卡后没显示配置文件,需要自己手动编辑一个配置文件
二,部署环境
1> 这时会发现,用client 端去ping web 端时ping 不通的,如下

这是因为 server端相当于client端与web 端的桥梁, server端的路由转发功能没有开启
注: 路由转发 是一个内核参数如下

0 表示未开启, 那么如何将它开启呢,下面是一种临时开启的方法

1 表示开启,这样路由转发就临时开启了,我们来测试一下能否ping通

client 端 通过 server 端的 路由转发成功的 ping 通了 web 端
#上述方法是临时 开启路由转换功能,那么想要永久开启呢?需要写入 /etc/sysctl.conf 这个配置文件里面如下

#1写入

#2 生效

#查看

!成功
注:这是模拟实验,真实环境下是不允许client 端直接去访问 web 端主机的
三、试验
1>NAT 功能 可以在PREROUTING(DNAT),OUTPUT,INPUT,POSTROUTING(SNAT) 这四个链上来实现,因server端开启了路由转发功能,所以实际上是只经过 PREROUTING(DNAT),POSTROUTING(SNAT) FORWARD 这三个链

@1 开始web 端的 httpd 服务

@2 测试下 client 能否访问 web 端的 网站

@3 用web 端 查看下http的访问日志

@4 有记录

注意此时是 client i端 ip 访问的 。
现在开始进行网络地址转换
2>.(server端)需要在 NAT 表上添加规则 ,注:网路地址转换,DNAT 访问的时候需要在 PREROUTING 链上 进行网络地址转换 ;SNAT 出去的时候需要在POSTROUTING 上 进行网络地址转换
命令:iptables -t NAT -A POSTROUTING -s 192.168.1.2 -d 172.16.100.222 -j SNAT --to-source 172.168.100.1

3> 查看下 NAT 表

4>client 端再访问一下 web端的网站 ; 命令 curl http:// 172.16.100.222

5> 在web端 查看 httpd 的访问日志

client端 访问 web 端时 ip 被转换成了 172.16.100.1
注: 在真实环境下,一般都需要进行网络地址转换,毕竟 client 端不能直接 访问 web端的网站
$$2 DNAT
(实际是上访问server端,server端没有httpd服务,通过网络地址转换去找 client 端)
1>开启client 端的 httpd 服务

2>命令 :

3>查看

4>抓取

访问的server端 抓取的却是client端 (目标地址转换 DNT)
firewalld 防火墙 nat 网络地址转换的更多相关文章
- CCNA学习 NAT网络地址转换
CCNA基础 NAT网络地址转换 在计算机网络中,网络地址转换(Network Address Translation,缩写为NAT),也叫做网络掩蔽或者IP掩蔽(IP masquerading),是 ...
- TCP/IP 笔记 - 防火墙和网络地址转换
防火墙是位于内部网和外部网之间的屏障,是系统的第一套防线,作用是防止非法用户的进入. 网络地址转换是一种IP数据包通过路由器或防火墙时通过重写来源IP地址或目的地址的技术,可以用来隐藏或保护内部网络, ...
- [译] NAT - 网络地址转换(2016)
[译] NAT - 网络地址转换(2016) Published at 2019-02-17 | Last Update 译者序 本文翻译自 2016 年的一篇英文博客 NAT - Network A ...
- NAT 网络地址转换
NAT 网络地址转换(Network Address Translation) NAT(Network Address Translation,网络地址转换)是1994年提出的. 属接入广域网(WA ...
- NAT网络地址转换模拟过程
原理图,如图1 图1 以下为配置NAT网络地址转换的实验: eNSP模拟图,如图2 图2 Step1.给路由器的每个接口赋予一个地址,如图3,图4 图3 图4 AR1和AR2中添加路由表项,如图5,图 ...
- iptables做nat网络地址转换
iptables做nat网络地址转换. 0. 权威文档 http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO-6.html e文好的直接跳过本文 ...
- NAT网络地址转换技术
NAT网络地址转换技术 目录 一.NAT概述 1.1.概述 1.2.NAT 的应用场景 二.NAT的类型及配置命令 2.1.静态NAT 2.2.动态NAT 2.3.Easy IP 2.4.NATP 2 ...
- NAT网络地址转换的原理--笔试答题版
最早接触NAT是在做网络工程师的时候,NAT是做网络工程师必需会的知识点和技能,后来在面试运维的时候也经常被用到,在运维的某些知识点当中也会被引用到,如LVS当中. 为什么需要NAT(网络地址转换)? ...
- NAT—网络地址转换
参考链接:http://www.qingsword.com/qing/745.html 视频链接: 一.什么是NAT? NAT --- Network Address Translation 也就是 ...
随机推荐
- CREATE CONSTRAINT TRIGGER - 定义一个新的约束触发器
SYNOPSIS CREATE CONSTRAINT TRIGGER name AFTER events ON tablename constraint attributes FOR EACH ROW ...
- width:100px; min-width:100% 解释:宽度大于100px 就是100% 小于100px 就是100像素
<div style="width:100px; background-color: aqua; min-width:100%">kkk</div>
- MFC如何设置窗口最前
首先,放到最前 this->SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);//使窗口总是在最前面 this->Se ...
- 无法完成安装:'Cannot access storage file '/
今天自己编译了spice-protocol spice-gtk spice qemu,然后想用virsh去创建一个虚机: # virsh define demo.xml 定义域 demo(从 ...
- vue开发 - 根据vue-router的meta动态设置html里标签的内容
路由文件 :router/index.js import Vue from 'vue'import Router from 'vue-router'import index '@/view/index ...
- 解决mysql时区问题以及SSL问题
看了下网上的教程,觉得都太麻烦啦,这里推荐个简单的! 解决时区问题 只需要加上serverTimezone=UTC即可,如下: spring.datasource.url=jdbc:mysql://1 ...
- Python 1-2模块的循环导入问题
run.py文件: import m1 # 第一次导入 # 验证解决方案一: ''' 正在导入m1 正在导入m2 ''' # print(m1.x) # print(m1.y) # 验证解决方案二: ...
- Runlevel in Linux
运行级别(Runlevel)指的是Unix或者Linux等类Unix操作系统下不同的运行模式.运行级别通常分为7等,分别是从0到6,但如果必要的话也可以更多. 例如在大多数Linux操作系统下一共有如 ...
- python多线程和多进程(二)
---恢复内容开始--- 一.多进程 1.multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似. impor ...
- mysql You can't specify target table 'sys_org_relation' for update in FROM clause 删除表条件不能直接包含该表
mysql中You can't specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表( ...