Linux防火墙 您所在的位置:网站首页 linux防火墙日志怎么看 Linux防火墙

Linux防火墙

2024-07-10 03:38| 来源: 网络整理| 查看: 265

目录

一.SNAT

1.原理

2.转换前提条件

二.DNAT

1.原理

2.转换前提条件

3.查看本机主机访问公网时使用的IP

三.防火墙规则的备份和还原

四.通过命令保存文件,使用抓包工具进行分析

五.实验

1.SNAT

2.DNAT

一.SNAT 1.原理

原理:源地址转换,修改数据包中的源IP地址

作用:可以实现局域网共享上网

配置的表及链:nat表中的POSTROUTING

2.转换前提条件

局域网各主机已正确设置IP地址、子网掩码、默认网关地址

Linux网关开启IP路由转发

linxu想系统本身是没有转发功能 只有路由发送数据 

tips:一个IP地址做SNAT转换,一般可以让内网100到200 台主机实现上网

临时打开: echo 1 > /proc/sys/net/ipv4/ip_forward sysctl -W net.ipv4.ip_forward=1 永久打开: vim /etc/sysct1.conf net.ipv4.ip_forward = 1 #将此行写入配置文件 sysctl -p #将取修改后的配置 二.DNAT 1.原理

原理:目的地址转换,修改数据包中的目标IP地址

作用:将位于企业局域网中的服务器进行发布

配置在nat表中的PREROUTING链上

应用环境:在Internet中发布位于局域网内的服务器

2.转换前提条件

局域网的服务器能够访问Internet

网关的外网地址有正确的DNS解析记录

Linux网关开启IP路由转发

tips:使用DNAT时,同时还有配合SNAT使用,才能实现响应数据包的正确返回

nat表的target,适用于端口映射,即可重定向到本机,也可以支持重定向至不同主机之间端口,但不支持目标,即不支持多目标,即不支持负载均衡功能

vim /etc/sysctl.conf net.ipv4.ip_forward = 1 sysctl -p DNAT转换1:发布内网的Web服务 #把从ens37进来的要访问web服务的数据包目的地址转换为192.168.100.101 iptables -t nat -A PREROUTING -i ens37 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.100.101 或 iptables -t nat -A PREROUTING -i ens37 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.100.101 内网服务器IP iptables -t nat -A POSTROUTING -s 192.168.100.13 -o ens37 -j SNAT --to 10.0.0.1 3.查看本机主机访问公网时使用的IP

三.防火墙规则的备份和还原

将iptables规则保存到文件中进行备份:iptables-save > /路径/名称

重新加载备份文件中的iptables规则:iptables-restore < 备份文件的完整路径

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

192.168.100.100 12.0.0.1 [root@localhost ~]# yum install -y iptables* [root@localhost ~]# systemctl start iptables.service [root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# cp -p ifcfg-ens33 ifcfg-ens37 [root@localhost network-scripts]# vim ifcfg-ens37 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens37 DEVICE=ens37 ONBOOT=yes IPADDR=12.0.0.1 NETMASK=255.255.255.0 GATEWAY=12.0.0.1 [root@localhost network-scripts]# vim ifcfg-ens33 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=16b97a56-58e7-48db-a088-e6b557225481 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.100.100 NETMASK=255.255.255.0 GATEWAY=192.168.100.100

添加网卡 

192.168.68.101

12.0.0.100

 192.168.100.100  12.0.0.1

Linux网关开启IP路由转发,不是默认打开的需要手动开启

[root@localhost ~]# vim /etc/sysctl.conf  

此时12.0.0.100ping192.168.100.101就能ping通了

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

12.0.0.100

192.168.100.101

12.0.0.100

 此时转发已完成

192.168.100.100 12.0.0.1 

清空nat

192.168.100.101

12.0.0.100

192.168.100.101

主机型防火墙主要使用INPUT、OUTPUT链,设置规则时一般要详细的指定到端口

网络型防火墙主要使用FORWARD链,设置规则时很少去指定到端口,一般指定到IP地址或者到网段即可

2.DNAT

192.168.100.100 12.0.0.1

[root@localhost ~]# iptables -t nat -A PREROUTING -i ens37 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.100.101

 12.0.0.100

192.168.100.101



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有