首页 > 系统相关 >iptables防火墙(二)

iptables防火墙(二)

时间:2023-09-02 14:32:16浏览次数:36  
标签:iptables 0.1 主机 防火墙 192.168 200.0 --

iptables防火墙(二)_防火墙

iptables防火墙(二)_防火墙_02

实现NAT功能 所需要的环境: 三台主机,

一台做内网主机桥节点V8 192.168.1.2/24  网关192.168.1.1

一台做防火墙(路由器)装两块网卡V8 ens33 192.168.1.1/24 V1 ens37 200.0.0.1/24

一台做外网主机V1 200.0.0.2/24  无网关

做路由器的主机需要开启路由转发

vim /etc/sysctl.conf

最后加一条

net.ipv4.ip_forward=1

保存退出

sysctl -p

使它生效

tcpdump -i ens33   抓包 测试

IP 200.0.0.1 > localhost.localdomain: ICMP echo request, id 58854, seq 172, length 64echo request ping请求

来自200.0.0.1localhost(目标主机).localdomain(这个名字本机的主机名) ICMP  echo request (ping请求)

IP localhost.localdomain > 200.0.0.1: ICMP echo reply, id 58854, seq 172, length 64

从本机localdomain  返回到200.0.0.1 echo reply ping相应

对ens33网卡的流量 进行抓包

关闭firewalld防火墙


配置防火墙策略 此时的内部主机是访问不到外部的

让内部主机1.2 访问达到外部主机2.2  

数据包走向图:

iptables防火墙(二)_防火墙_03


内部主机1.2需要在POSTROUTING 位置换成公网ip 出去 访问外部主机2.2

需要在POSTROUTING 链设置规则

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ens37 -j SNAT --to 200.0.0.1

-s来自 1.0/24 网段-o 从 ens37网卡出去的报文-j SNAT –to源地址转换 换成外部接口的ip地址 200.0.0.1

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ens37 -j MASQUERADE

原来是声明 把源地址换成谁 现在是MASQUERADE 的意思是 :来自1.0/24网段 从ens37网卡出去的时候 伪装成 外部接口ip  MASQUERADE(伪装)

iptables防火墙(二)_防火墙_04

tcpdump -i ens33

IP 200.0.0.1 > localhost.localdomain: ICMP echo request, id 58854, seq 172, length 64echo request ping请求

来自200.0.0.1localhost(目标主机).localdomain(这个名字本机的主机名) ICMP  echo request (ping请求)

IP localhost.localdomain > 200.0.0.1: ICMP echo reply, id 58854, seq 172, length 64

从本机localdomain  返回到200.0.0.1 echo reply ping相应

对ens33网卡的流量 进行抓包

说明1.2从路由器 出来的时候 确实换成200.0.0.1了

200.0.1和200.0.2 是直连的 属于互联网公网当中的网段 所以200.0.2 能识别 所以回包 回来以后 路由器 再给转换回去 最终 在1.2 能看到通信的过程


如果要访问网站 在外网0.2 开启httpd  

1.2 是可以访问到外网的

看日志也可以看到 apache的rpm 日志位置

/var/log/httpd/access_log


现在做个改变:让内部1.2主机 改成服务器

我想让外网主机 可以访问到 内网主机 


需要在路由器 上PREROUTING 上做目标转换

当外部主机0.2访问 公有ip 0.1的时候 路由器就会把她送到1.2去

启动httpd

在路由器上设置

iptables -t nat -A PREROUTING -d 200.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.1.2:80

-d 目标ip是200.0.0.1 的tcp协议80端口的流量 转换为192.168.1.2 80端口



内部服务器希望能够被远程登录 ssh tcp/22

iptables -t nat -A PREROUTING -d 200.0.0.1 -p tcp --dport 2222 -j DNAT --to 192.168.1.2:22

ssh远程登录 访问 200.0.0.1:2222  端口的时候 去访问1.2 的22端口

ssh -p 2222 200.0.0.1

内部还有其他主机 还有其他服务 按照这种语法写就可以

目标转换 不影响 源操作 不影响源地址转换



清空nat表

iptables -t nat -F

清空filter表

iptables -F

这时候内部访问外部 外部访问内部都是不通的了



开始实验:


允许内网主机远程登录及ping通网关


不允许外网主机ping网关,只允许响应包及SSH请求(200.0.0.2)进入网关


允许内网主机访问外网所有服务(SNAT)


允许外网主机远程登录内部服务器及WEB访问(DNAT)


内部服务器只允许SSH及WEB访问(主机过滤)


禁止内部主机pc1访问访问外部网络


先设置默认策略

iptables -P INPUT DROP

禁止任何流量访问 防火墙本机

允许内网主机远程登录及ping通网关

iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type 8 -j ACCEPT

允许来自1.0/24网段的 icmp 协议8 ping请求

iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT

允许来自1.0/24 网段 的 tcp22 端口 进入 22端口也就是ssh 远程控制



不允许外网主机ping网关,只允许响应包及SSH请求(200.0.0.2)进入网关

iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

允许 已经建立的连接或相应报文 对方的响应包 响应包就是出去以后回来的包

ESTABLISHED  已建立连接的或相应报文:两个主机之间首先通信之前tcp的三次握手,发请求出去,对方给我响应包,ESTABLISHED 就包括响应包 在建立建立完后 后面是通信过程 因为已经建立连接了 通信过程就是被允许的了 ESTABLISHED 代表已建立连接的或响应报文(不包括请求报文)

iptables -A INPUT -s 200.0.0.2 -p tcp --dport 22 -j ACCEPT

允许 来自200.0.0.2主机的 tcp协议目标端口 22 的流量 22 也就是ssh 

允许内网主机访问外网所有服务(SNAT)

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ens37 -j MASQUERADE

来自1.0/24网段 的流量 去往ens37 网卡 的将被 伪装成 网关ip出去  源地址转换

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ens37 -j SNAT --to 200.0.0.1

来自1.0/24网段的流量 去往ens37网卡 的将被 换成200.0.0.1 ip 出去  源地址转换

允许外网主机远程登录内部服务器及WEB访问(DNAT)

iptables -t nat -A PREROUTING –d 200.0.0.1 -p tcp --dport 2222 -j DNAT --to 192.168.1.2:22

目标ip200.0.0.1 的tcp 2222 端口的流量 将被 送往192.168.1.2 的22 端口

iptables -t nat -A PREROUTING -d 200.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.1.2:80

目标ip是200.0.0.1 的 tcp 80端口 的流量 将被送往192.168.1.2的80端口


内部服务器只允许SSH及WEB访问(主机过滤)


切换内部主机 设置单机防火墙

iptables -P INPUT DROP

设置默认选项 拒绝所有流量

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

允许 tcp 22和80 端口 流量访问

因为 拒绝所有流量 当本机访问别人的时候 还要回包呢 这时候回包的流量也是拒绝的

iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

允许 已经建立的连接或相应报文 对方的响应包

ESTABLISHED  已建立连接的或相应报文:两个主机之间首先通信之前tcp的三次握手,发请求出去,对方给我响应包,ESTABLISHED 就包括响应包 在建立建立完后 后面是通信过程 因为已经建立连接了 通信过程就是被允许的了 ESTABLISHED 代表已建立连接的或响应报文(不包括请求报文)



禁止内部主机pc1访问访问外部网络

iptables -A FORWARD -s 192.168.1.2 -j DROP

禁止 来自192.168.1.2的流量



将这些条目 保存到文件里

iptables-save > /opt/ipc

vim /etc/rc.d/rc.local

最后一行加入

iptables-restore < /opt/ipt
保存退出chmod +x /etc/rc.d/rc.local  给脚本加执行权限
systemctl disable firewalld    使其开机禁用


vim /etc/sysconfig/selinux

这个更多针对于文件系统做监控的 访问那个文件系统 或改变以后会提醒 更细化的一般都关闭 就是敲 setenforce 0 其实关闭selinux的

将里面的SELINUX=enforcing

改为

SELINUX=disabled

这样开机的相当于自动关闭掉了

保存退出

这样重启策略就生效了




1、允许其他机器ping通防火墙

iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

2、以下是防火墙本机ping其他机器的设置

2.1 能ping通IP

iptables –A INPUT –p icmp --icmp-type echo-reply –j ACCEPT
iptables –A OUTPUT –p icmp --icmp-type echo-request –j ACCEPT


2.2 能ping通回环地址

iptables -A INPUT -i lo -p all -j ACCEPT
iptables –A OUTPUT –o lo –p all –j ACCEPT

2.3 能ping通域名

iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT  -p udp --sport 53 -j ACCEPT























标签:iptables,0.1,主机,防火墙,192.168,200.0,--
From: https://blog.51cto.com/u_15971294/7332878

相关文章

  • 深信服防火墙——透明主主部署
    透明主主部署是两台AF做网桥部署在网络中,均处于工作状态,根据流量转发到不同AF的情况,来进行数据处理,通过心跳口同步配置及会话(网桥模式包括透明模式和虚拟网线模式)。透明主主模式配置案例某企业内部网络是路由器和核心交换机做链路聚合,现购买了两台AF虚拟网线模式部署进网络中,两......
  • Palo Alto防火墙---管理篇(二)
    老板:楼小楼,我看马小马发给我的防火墙日志截图,上面的时间跟实际时间不对应,这是什么情况?楼小楼:老板,这个有可能是防火墙上的时间不对,或者时区不对。老板:有办法调整一下么?楼小楼:可以,我们可以手动调整或是配置NTP让防火墙自动同步。老板:另外,咱们防火墙密码是不是弱口令?能不能调置一下复......
  • linux防火墙操作
    查看防火墙状态systemctlstatusfirewalld.service开启防火墙systemctlstartfirewalld.service防火墙开机启动systemctlenablefirewalld.service关闭防火墙开机启动systemctldisablefirewalld.service关闭防火墙systemctlstopfirewalld.service查看防火墙状......
  • 网神SecGate 3600防火墙obj_app_upfile任意文件上传漏洞
    漏洞简介网神SecGate3600防火墙obj_app_upfile接口存在任意文件上传漏洞,攻击者通过构造特殊请求包即可获取服务器权限影响范围网神SecGate3600防火墙漏洞复现fofa语法:fid="1Lh1LHi6yfkhiO83I59AYg=="登录页面如下:POC:POST/?g=obj_app_upfileHTTP/1.1Host:jg.zhon......
  • 一文搞清楚 iptables 这文太好了不得不收藏
    iptables简介netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。iptables基础规则(rules)其实就是网络管理员预定义的条件......
  • 南墙WAF-最好的免费Web应用防火墙
       免费的web应用防火墙最出名的非ModSecurity莫属。ModSecurity一度以维护者众多,规则更新较积极,并且免费而受安全圈追捧,然而随着时代变迁,ModSecurity的多种致命缺陷也逐渐暴露,包括:缺乏管理后台,使用起来极为不便。安全规则过于粗糙,很容易产生误报,从而影响正常业务。创新......
  • Palo Alto防火墙---管理篇(一)
    老板:楼小楼,我发现公司新部署的这台PA防火墙,有其他人在尝试登录,不能限制不相关的人员无法访问么?楼小楼:老板,这个是可以设置的,我一会儿配置一下,只允许IT部这个网段可以登录管理。老板:另外,你可以给马小马创建一个帐号,让他每天上去看看防火墙有没有什么异常,但是不要给他操作权限。楼小楼......
  • Palo Alto防火墙---上网配置篇(二)
    书接上篇,在上网配置(一)中已经完成了接口及安全域的配置2、路由配置在本次实验拓扑中需要配置的路由只有一个那就是去往untrust方向的路由。如果拓扑是类似于第二图中那样,那么还需要配置去往trust方向的路由。路由的配置方法如下:点击“network"菜单,在左侧点击”virtualrouters“,然后......
  • Centos7防火墙关闭和启用iptables操作
    Centos7防火墙关闭和启用iptables操作_小戴BOTAOY演示博客(yii666.com) 前序还是docker惹得最近做的系统都是上的centos7的系统带来的一系列的新环境的适应补记下:在使用oraclevmbox虚拟centos7的时候选用桥接网络的时候一定要记得插网线,无线不好使(浪费了一上午的时间的教......
  • iptables简介
    DESCRIPTION      Iptablesisusedtosetup,maintain,andinspectthetablesofIPv4packetfilterrulesintheLinuxkernel. Severaldifferenttablesmay      bedefined. Eachtablecontainsanumberofbuilt-inchainsandmayalsocont......