48-iptables实战

防火墙
  • 硬件:整个企业入口
    • 三层路由:H3C 华为 Cisco
  • 软件:开源软件 网站内部 封ip
    • iptables 写入到Linux内核中 以后服务docker
    • firewall C7
  • 云防火墙
    • 阿里云:安全组
必须熟悉的名词
  • 容器:瓶子 存放东西
  • 表(table):存放链的容器
  • 链(chain):存放规则的容器
  • 规则(policy):准许或拒绝规则
iptables 执行过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 三种流量:
    • 找我的流量 —PREROUTING链
    • 我发出去的流量 —POSTROUTING
    • 途经我的流量 —FORWARD
      在这里插入图片描述
      在这里插入图片描述
表与链(面试题)
#- iptables 是四表五链
#- 4表:
	filter表 
	nat表 
	raw表
    mangle表
#- 五链:
	INPUT
	OUTPUT
	FORWARD
	PREROUTING
	POSTROUTING
每个表的说明
  • filter表
    • 防火墙:屏蔽或者准许 端口 ip
filter表 强调:主要和主机自身相关,真正负责主机防火墙功能的(过滤流入流出主机的数据包)filter表表示iptables默认使用的表。这个表定义了三个链。企业工作场景:主机防火墙
input 负责过滤所有目标地址是本机地址的数据包。通俗来说:就是过滤进入主机的数据包
FORWARD 负责转发流经主机的数据包。起转发作用,和NAT关系很大,net.ipv4.ip_forward=0
OUTPUT 处理所有源地址是本地地址的数据包,通俗来讲:就是处理从主机发出去的数据包
  • nat 表
  • 实现NAT功能
    • 实现共享上网(内网服务器上外网)
    • 端口映射和ip映射
nat表 负责网络地址转换的,即来源与目的的IP地址和port的转换。应用:和主机本身无关,一般用于局域网共享上网或者特殊端口的转换服务相关。工作场景:1.用于企业路由(zebra)或者网关(iptables), 共享上网(POSTROUTING)。2.做内部外部IP地址一对一映射(dmz),硬件防火墙映射IP到内部服务器,ftp服务(PREROUTING)。3.WEB 单个端口映射,直接映射80端口(PREROUTING),这个表定义了3个链,nat功能相当于网络的acl控制。和网络交换机acl类似
OUTPUT 和主机放出去的数据包有关,改变主机发出数据包的目的地址。
PREROUTING 在数据包到达防火墙时,进行路由判断之前执行的规则,作用是改变数据包的目的地址、目的端口等
就是收信时,根据规则重写收件人的地址。
例如:把公网xx.xx.xx.xx映射到局域网的yy.yy.yy.yy服务器上
如果是web服务,可以把80端口转换为局域网的服务器9000端口上
10.0.0.61 8080(目的端口)—nat— 10.0.0.7 22
POSTROUTING 在数据包离开防火墙时进行路由判断之后的规则,作用改变数据包源地址、源端口等
写好发件人的地址,要让家人回信时能够有地址可回。
例如:默认笔记本和虚拟机都是局域网地址,在出网的时候被路由器将源地址改为公网地址。
企业应用:局域网共享上网
环境准备及命令
iptables iptables启动或关闭的命令

m01     10.0.0.61   172.16.1.61
web01   10.0.0.7    172.16.1.7
[root@m01 ~]#systemctl stop firewalld
[root@m01 ~]#systemctl disable firewalld
[root@m01 ~]#uname -r				#查看系统版本
3.10.0-1160.el7.x86_64
[root@m01 ~]#yum install -y  iptables-services		#安装iptables

[root@m01 ~]#rpm -ql iptables  #查看配置文件

#防火墙相关模块 加载到内核中(临时的)
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state 


#将防火墙模块加载到内核中(永久) 
cat >>/etc/rc.local<<EOF
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state  
EOF

#查看是否可以使用iptables功能
[root@m01 ~]#lsmod |egrep 'filter|nat|ipt'
nf_nat_ftp             12809  0 
nf_conntrack_ftp       18478  1 nf_nat_ftp
iptable_nat            12875  0 
nf_nat_ipv4            14115  1 iptable_nat
nf_nat                 26583  2 nf_nat_ftp,nf_nat_ipv4
nf_conntrack          139264  6 nf_nat_ftp,nf_nat,xt_state,nf_nat_ipv4,nf_conntrack_ftp,nf_conntrack_ipv4
iptable_filter         12810  0 
ip_tables              27126  2 iptable_filter,iptable_nat
libcrc32c              12644  3 xfs,nf_nat,nf_conntrack


#启动iptables并加入开机自启
[root@m01 ~]#systemctl start iptables
[root@m01 ~]#systemctl enable iptables
Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.
iptables命令

iptables -t filter -I/A INPUT -p tcp --dport 22 -j DROP

固定iptables 哪个表 插入/追加 INPUT链 协议 目的端口 -j 拒绝掉

[root@m01 ~]#iptables -nL			#查看默认的规则
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

atomLg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值