网络防火墙

iptables/netfilter网络防火墙:

(1) 充当网关

(2) 使用filter表的FORWARD链

注意的问题:

(1) 请求-响应报文均会经由FORWARD链,要注意规则的方向性

(2) 如果要启用conntrack机制,建议将双方向的状态为ESTABLISHED的报文直接放行

实验:禁止互联网上的主机访问内网主机

实验环境:3台机器

假设:172.17.252.162 互联网上的主机(只有桥接,断掉仅主机)

两个网卡192.168.10.200和172.17.253.132 防火墙主机

192.168.10.187 内部网络主机(只有仅主机,断掉桥接)

实验目的:允许内网主机访问互联网上主机,不允许互联网上主机访问内网主机

(1)添加网关,让172.17.252.0/16网段的主机和192.168.10.0/24网段的主机能够互相ping通

1.在172.17.252.162主机上

route add default gw 172.17.253.132

2.在192.168.10.187主机上

route add default gw 192.168.10.200

3.在防火墙上主机上开启转发功能

vim /etc/sysctl.conf

sysctl -p 使添加的内核参数生效

4.查看连个网段的主机能否互相ping通

 

(2)在防火墙主机上添加策略,使内网的主机能访问互联网上的主机,而互联网上的主机不能访问内网的主机

iptables -A FORWARD -s 192.168.10.0/24 -d 172.17.252.0/16 -m state --state NEW -j ACCEPT 在FORWARD链上允许源地址为192.168.10.0/24网段目标地址为172.17.252.0/16网段

iptables -I FORWARD -m state --state ESTABLISHED -j ACCEPT

iptables -A FORWARD -j REJECT 拒绝其他转发

(3)测试

在互联网主机上访问内部网络主机 不能ping通

在内网主机上ping互联网主机 能ping通

 

实验:NAT: network address translation 网络地址转换

1.SNAT 源网络地址转换

上一个实验可以实现内网主机访问互联网主机,不允许互联网主机访问内网主机,但是有一个巨大的问题,就是内网主机地址必须是公有地址,成本太高,还不安全

实验环境:

假设:192.168.6.52 互联网上的主机 ,只有一块网卡,桥接(公网ip)

192.168.66.128(仅主机)和192.168.6.143(桥接,公网ip) 防火墙主机,两块网卡,一块桥接,一块仅主机

192.168.66.177 内网的主机 ,一块网卡,仅主机(内网ip)

实验目的:现在要通过防火墙做源地址转换,将192.168.66.177转换为192.168.6.143,从而实现访问互联网上的主机

(1)在内网主机(192.168.66.177)上,将网关指向192.168.66.128

route add default gw 192.168.66.177

(2)在防火墙主机上做源地址转换,将内网的整个网段都替换成公网地址

iptables -t nat -A POSTROUTING -s 192.168.66.0/24 -j SNAT --to-source 192.168.6.143

(3)测试

在192.168.6.52互联网上的主机上开一个web服务,然后用内网的主机192.168.66.177去访问,如果能访问到,说明实验成功

1.在192.168.6.52主机上

systemctl start httpd 开启httpd服务

2.在192.168.66.177主机上用curl命令去访问

用ping也能通

(4)在互联网上的主机看看是谁访问的

都是192.168.6.143访问的,说明试验成功

 

2.DNAT目标网络地址转换

假如说公司内部有一个人出差了,在互联网上想访问公司内部一个服务器,这要怎么做呢?如图:

当互联网上的主机访问192.168.6.143的80端口时,就给他转到192.168.66.177的80端口

实验环境:

假设:192.168.6.52 互联网上的主机,一块网卡,桥接

192.168.6.143和192.168.66.128 防火墙主机,两块网卡,一块桥接,一块仅主机

192.168.66.177 内网的主机 ,一块网卡,仅主机

实验目的:实现互联网上的主机能够访问内网主机开启的httpd服务

(1)在内网主机(192.168.66.177)上,将网关指向192.168.66.128

route add default gw 192.168.66.177

(2)在防火墙主机上做目标地址转换,将目标地址192.168.6.143转换为192.168.66.177

iptables -t nat -A PREROUTING -d 192.168.6.143 -p tcp --dport 80 -j DNAT --to-destination 192.168.66.177:80

(3)在内网主机(192.168.66.177)开启httpd服务

systemctl start httpd

echo hello world > /var/www/html/index.html

(4)测试

在互联网上的主机上用curl命令访问192.168.10.143

(5)我们在内网主机上看日志,确实是互联网上的主机访问的

 

3.转发

实现其他人访问我本机的一个端口(如:80),给他转发到本机的另一个端口(如:8080)上

我们基于上一个实验来做本实验

(1)将内网主机上httpd服务端口改成8080

vim /etc/httpd/conf/httpd.conf

Listen 8080

重启服务 systemctl restart httpd

ss -ntl 查看端口

现在只有8080端口,没有80端口

(2)在内网主机(192.168.66.177)上设置转发策略,如果访问本机的80端口就给转发到本机的8080端口

iptables -t nat -A PREROUTING -d 192.168.66.177 -p tcp --dport 80 -j REDIRECT --to-ports 8080

(3)测试

在互联网主机(192.168.6.52)上用curl来访问防火墙主机192.168.6.143

curl 192.168.6.143

网络防火墙和NAT地址转换的更多相关文章

  1. 【原创】锐捷实现OSPF路由协议和NAT地址转换协议

    路由网络设计与实施 [锐捷设备实现OSPF路由协议与NAT地址转换] 说明:   本文是在多VLAN双星型交换网络的基础之上发展的.关于组建多VLAN双星型交换网络,请参阅: <思科和锐捷组建多 ...

  2. 华为eNSP上的NAT地址转换配置

    NAT是将IP数据报文报头中的IP地址转换为另一个IP地址的过程,主要用于实现内部网络(私有IP地址)访问外部网络(公有IP地址)的功能. 1.实验拓扑 地址表: 1.完成各个接口基本配置之后使用pi ...

  3. 清除路由器NAT地址转换

    首先当你的NAT网络地址转换成功搭建起来,并且测试过网络通信时,此时NAT地址转换表上面是存在转换信息的,你可以通过在特权模式下输入命令"show ip nat translation&qu ...

  4. 手把手系列:实现Nat地址转换

    1.实验目的: 掌握内网中的主机C1连接到Internet时,通过NAT实现私有全局地址转换.   2.实验拓扑: 3.实验步骤: 步骤一:给主机C1和C2配置IP地址.子网掩码和网关.如图: C1: ...

  5. 神州数码NAT地址转换配置

    实验要求:熟练掌握NAT地址转换的配置方法 拓扑如下 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface s0/1 进入端口 ip ad ...

  6. NAT地址转换

    2017年1月12日, 星期四 NAT地址转换 SNAT:源地址转换  DNAT:目标地址转换   null

  7. CISCO实验记录九:NAT地址转换

    1.静态NAT地址转换 #ip nat inside source static 192.168.12.1 192.168.23.4 //将12.1转为23.4 必须精确到主机IP 而不能是某个网段 ...

  8. NAT地址转换原理全攻略

    NAT转换方式及原理 在NAT的应用中,可以仅需要转换内部地址(就是“内部本地址”转换成“内部全局地址”),这是最典型的应用,如内部网络用户通过NAT转换共享上网:也可以是仅需要转换外部地址(就是“外 ...

  9. Linux之iptables(四、网络防火墙及NAT)

    网络防火墙 iptables/netfilter网络防火墙: (1) 充当网关 (2) 使用filter表的FORWARD链 注意的问题: (1) 请求-响应报文均会经由FORWARD链,要注意规则的 ...

随机推荐

  1. 洛谷P2756飞行员配对方案问题 P2055假期的宿舍【二分图匹配】题解+代码

    洛谷 P2756飞行员配对方案问题 P2055假期的宿舍[二分图匹配] 飞行员配对方案问题 题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架 ...

  2. 对 url 中含有的中文进行转码操作

    对 url 中含有的中文进行转码操作 一般情况下,将带有中文的 url 拷贝到开发工具,开发工具都会有相应的转码(自动转码), 现在大部分的浏览器也可以对含有中文的 url 进行转码(自动转码) 情景 ...

  3. laravel框架基础知识点

    一.数据库:DB    1.db查    DB::table('msg')->where('id','>',$id)->get()       查询单行    DB::table(' ...

  4. bcache的使用

    一.前提:内核中需要配置bcache模块 1.1 检查 - 是否存在于内核中:检查/sys/fs/bcache目录是否存在,没有说明内核中没有bcache - 是否以内核模块方式存在:检查/lib/m ...

  5. JS原生Ajax&Jquery的Ajax技术&Json

    1.介绍Ajax Ajax = 异步 JavaScript 和 XML Ajax是一种创建快速动态网页的技术 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新.这意味着可以不用整个 ...

  6. 从零开始学习前端JAVASCRIPT — 11、Ajax-前后端异步交互以及Promise-异步编程的改进

    (注:本章讲解涉及部分后端知识,将以php提供数据的方式进行相应的demo实现) 1:ajax的概念 全称:Asynchronous Javascript And Xml AJAX不是一种新的编程语言 ...

  7. the c programing language 学习过程2

    manipulated 操纵  notations符号 hexadecimal十六进制 precision精度 be concatenated at 把····联系起来 enumerations枚举  ...

  8. uva11400 动态规划

    没种电压灯泡要么全换,要么不换.状态d(i)表示前i种灯泡的最低价格. 转移方程: dp[i]=min(dp[i],dp[j]+(s[i]-s[j])*d[i].c+d[i].k); AC代码: #i ...

  9. hdu1556 Color the ball 线段树区间染色问题

    都是老套路了,如果n=5,要把区间[1,4]染色,可以递归去染区间[1,3]和区间[4,4],如果区间相等就自加,不相等继续递归寻找对应区间. 打印结果时,把所有到达叶节点包含i的区间值相加,就是最后 ...

  10. 吾八哥学Selenium(四):操作下拉框select标签的方法

    我们在做web页面自动化测试的时候会经常遇到<select></select>标签的下拉框,那么在Python里如何实现去操作这种控件呢?今天就给大家分享一下这个玩法.为了让大 ...