第55课 iptables防火墙上部 2019-07-02

1、iptables表、链、规则之间的联系:

iptables表、链、规则含义与关系.png

2、iptables里面filter表和nat表都包含的链是什么:

表和链的关系(图表示例).png

3、filter表作用以及包含的链:

filter表的作用.png

4、nat表作用以及包括的链:

nat表的作用.png
nat表的3个链的含义与作用.png

5、iptables基础环境搭建:

5.1 安装iptables服务:

[root@m01 ~]#yum install iptables  iptables-services
[root@m01 ~]# rpm -qa iptables-services
iptables-services-1.4.21-28.el7.x86_64
[root@m01 ~]# rpm -ql iptables-services
/etc/sysconfig/ip6tables
/etc/sysconfig/iptables           #iptables 配置文件
/usr/lib/systemd/system/ip6tables.service
/usr/lib/systemd/system/iptables.service        #iptables服务管理配置

5.2 优化开启、开机自启动iptables服务:

[root@m01 ~]#systemctl start iptables.service
[root@m01 ~]#systemctl enable iptables.service

5.3 检查防火墙内核模块是否加载成功:

[root@m01 ~]# lsmod |egrep 'nat|ipt|filter'
ipt_REJECT 12541 2
nf_reject_ipv4 13373 1 ipt_REJECT
iptable_filter 12810 1
xt_nat 12681 1
iptable_nat 12875 1
nf_nat_ipv4 14115 1 iptable_nat
nf_nat 26787 2 nf_nat_ipv4,xt_nat
nf_conntrack 133095 4
nf_nat,nf_nat_ipv4,xt_conntrack,nf_conntrack_ipv4
ip_tables 27126 2 iptable_filter,iptable_nat
libcrc32c 12644 3 xfs,nf_nat,nf_conntrack

5.4 手动加载内核模块:

modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state

6、iptables命令参数:

iptables命令参数1.png
iptables命令参数2.png

7、iptables项目实战:

配置防火墙规则注意事项:

  1. 去机房重启系统或者登陆服务器删除刚才的禁止规则。
  2. 让机房人员重启服务器或者让机房人员拿用户密码登录进去
  3. 通过服务器的远程管理卡管理(推荐)
  4. 先写一个定时任务,每5分钟就停止防火墙
  5. 测试环境测试好,写成脚本,批量执行

7.1 配置规则-禁止访问22端口:

[root@m01 ~]# iptables -t filter -A INPUT -p tcp --dport 22 -j DROP
[root@m01 ~]# 
Connection closed by foreign host.

Disconnected from remote host(m01) at 18:06:19.

Type `help' to learn how to use Xshell prompt.
[c:\~]$ 
实验发现xshell已经自动断开连接,因为22端口被封(到虚拟机上iptables -F清楚防火墙配置,然后就可以远程连接)

7.2 只让10.0.0.0/24网段进行访问:

1、只要是10.0.0.0/24 局域网的用户 访问m01 都ACCEPT
2、此例子主要限制:网段或ip地址
3、"!"表示取反

[root@m01 ~]#  iptables -I INPUT -p tcp ! -s 10.0.0.0/24 -j DROP
[root@m01 ~]#  iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- !10.0.0.0/24 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination

7.3 准许或禁止端口(多个端口:表示范围 1-1024范围)用法:

实例:除1到1024口外,别的都拒绝

[root@m01 ~]# iptables -I INPUT -p tcp ! --dport 1:1024 -j DROP
[root@m01 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp
dpts:!1:1024
DROP tcp -- !10.0.0.0/24 0.0.0.0/0
Chain FORWARD (policy ACCEPT)

7.4 准许或禁止端口(多个端口 不连续 80,433,52113,22)用法:

实例:除80,433,52113,22外,别的都拒绝:

[root@m01 ~]# iptables -I INPUT -p tcp -m multiport ! --dport 80,443,22 -
j DROP
[root@m01 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- 0.0.0.0/0 0.0.0.0/0 multiport
dports !80,443,22
DROP tcp -- !10.0.0.0/24 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination

你可能感兴趣的:(第55课 iptables防火墙上部 2019-07-02)