防火墙的SNAT和DNAT

目录

一、SNAT

1、SNAT策略

2、开启SNAT

3、SNAT案例

二、DNAT

1、DNAT策略

2、DNAT案例

3、抓包


一、SNAT

1、SNAT策略

SNAT策略的典型应用环境

局域网主机共享单个公网ip地址接入Internet

SNAT策略的原理

源地址转换

修改数据包的源地址

2、开启SNAT

临时开启

方法一

[root@localhost ~]# echo 1 >/proc/sys/net/ipv4/ip_forward

方法二

[root@localhost ~]# sysctl -w net.ipv4.ip forward=1

永久开启

[root@localhost ~]# vim /etc/sysctl.conf    #修改配置文件
net. ipv4.ip_ forward = 1                   #开启

3、SNAT案例

各设备的配置

网关服务器

(1)添加一块新网卡

 (2)配置两张网卡

[root@localhost network-scripts]# ifconfig   #查看新加网卡的配置

[root@localhost ~]# cd /etc/sysconfig/network-scripts/   #切到此目录

[root@localhost network-scripts]# cp ifcfg-enss33 ipcfg-ens37   #将enss33文件复制成enss37

[root@localhost network-scripts]# vim ifcfg-ens33  #修改ens33

PADDR=192.168.222.10      
NETMASK=255.255.255.0
#GATEWAY=192.168.222.2     #注释网关 和DNS
#DNS1=114.114.114.114     


[root@localhost network-scripts]# vim ifcfg-ens37  #修改ens37

NAME=ens37                                         #修改网卡名
#UUID=8299b8b6-baad-4742-b790-9c76078b5fe8         #注释uuid
DEVICE=ens37                                       #模块ens37
ONBOOT=yes
IPADDR=12.0.0.254                                   #修改ip地址
NETMASK=255.255.255.0
#GATEWAY=192.168.222.2                             #注释网关 和DNS
#DNS1=114.114.114.114

[root@localhost network-scripts]# systemctl restart network   #重启网络服务


(3)制定防火墙规则

[root@localhost network-scripts]#
vim /etc/ sysctl. conf
net. ipv4.ip_ forward = 1	#将此行写入配置文件
 
[root@localhost network-scripts]#sysctl -P				#读取修改后的配置


[root@localhost ~]# iptables -t nat -F POSTROUTING   #清空防火墙规则

[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.222.0/24 -o ens37 -j SNAT --to 12.0.0.254

#制定规则

[root@localhost ~]# iptables -t nat -L POSTROUTING --line-numbers  #查看防火墙规则

服务端配置

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
#修改网卡地址

IPADDR=12.0.0.100         #修改地址
NETWASK=255.255.255.0     
GATEWAY=12.0.0.254        #修改网关
#DNS1=8.8.8.8

[root@localhost ~]# systemctl restart network   #重启网卡

[root@localhost ~]# yum install httpd -y       #安装http服务

[root@localhost ~]# iptables -t nat -L --line-numbers  #清空防火墙规则

[root@localhost ~]# systemctl start httpd   #开启http

客户端配置

二、DNAT

1、DNAT策略

DNAT策略的应用环境

在Internet中发布位于企业局域网内的服务器

DNAT策略的原理

目标地址转换

修改数据包的目标地址

2、DNAT案例

网关服务机配置

[root@localhost ~]# iptables -F -t nat  #情空表中的默认规则

[root@localhost ~]#iptables -t nat -A PREROUTING -i ens37 -d 12.0.0.254 -p tcp --dport 80 -j DNAT --to 192.168.222.50  #添加规则


[root@localhost ~]#iptables -nL -t nat

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  0.0.0.0/0            12.0.0.254            tcp dpt:80 to:192.168.222.50
 
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
 
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination    

内网服务器


[root@localhost yum.repos.d]# yum install -y httpd     #安装http
[root@localhost yum.repos.d]# systemctl start httpd    #开启http服务

测试



[root@localhost ~]# curl 12.0.0.1    #在外网服务器上
 

[root@localhost yum.repos.d]# tail /etc/httpd/logs/access_log   #在内网服务器上
127.0.0.1 - - [02/Nov/2021:18:05:31 +0800] "GET / HTTP/1.1" 403 4897 "-" "curl/7.29.0"
12.0.0.100 - - [02/Nov/2021:18:19:45 +0800] "GET / HTTP/1.1" 403 4897 "-" "curl/7.29.0"

3、抓包

tcpdump tcp -i ens33 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.222.0/24 -w ./target.cap
(1)tcp:ipicmparprarp和tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
(2)-i ens33 :只抓经过接口ens33的包
(3)-t :不显示时间戳
(4)-s 0 :抓取数据包时默认抓取长度为68字节。加上-s 0后可以抓到完整的数据包
(5)-c 100 :只抓取100个数据包
(6)dstport!22:不抓取目标端口是22的数据包
(7)src net 192.168.222.0/24 :数据包的源网络地址为192.168.222.0/24
(8)-W ./target.cap :保存成cap文件,方便用ethereal (即wireshark)分析

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值