Linux之firewalld和ittables的基本命令

Firewalld 概述

   动态防火墙后台程序 firewalld 提供了一个动态管理的防火墙, 用以支持网络 “ zones” , 以分配对一个网络及其相关链接和界面一定程度的信任。它具备对 IPv4 和 IPv6 防火墙设置的支持。它支持以太网桥,并有分离运行时间和永久性配置选择。它还具备一个通向服务或者应用程序以直接增加防火墙规则的接口。
   系统提供了图像化的配置工具 firewall-config 、 system-config-firewall, 提供命令行客户端 firewall-cmd, 用于配置 firewalld 永久性或非永久性运行时间的改变 : 它依次用iptables 工具与执行数据包筛选的内核中的 Netfilter 通信。

firewalld 和 iptables service

   firewalld 和 iptables service 之间最本质的不同是 :
   iptables service在 /etc/sysconfig/iptables 中储存配置
   firewalld将配置储存在 /usr/lib/firewalld//etc/firewalld/ 中的各种 XML 文件里。

一、火墙
实验环境

systemctl stop  iptables
systemctl disable iptables
systemctl start firewalld
systemctl enable firewalld

1、filewalld基本命令

firewall-cmd --state                    查看火墙的当前状态
firewall-cmd --get-active-zones         列出当前正在被系统使用的域
firewall-cmd --get-default-zone         查看火墙中默认的域
firewall-cmd --get-zones                查看火墙中所有的域
firewall-cmd --zone=public --list-all   查看public(某个域)域中的状态
firewall-cmd --get-services             列出系统当中火墙可以用名称列出的服务
firewall-cmd --list-all-zones           列出所有域的状态
firewall-cmd --set-default-zone=dmz     设置默认的域为dmz

firewall-cmd –zone=public –list-all 查看public(某个域)域中的状态
这里写图片描述
firewall-cmd –set-default-zone=dmz 设置默认的域为dmz
firewall-cmd –get-active-zones 列出当前正在被系统使用的域
这里写图片描述
2、添加IP至指定域

firewall-cmd --add-source=172.25.254.108 --zone=trusted        172.25.254.108可以访问
success
firewall-cmd --list-all --zone=trusted   查看域中是否添加IP
firewall-cmd --remove-source=172.25.254.7 --zone=trusted     删除172.25.254.108的trusted访问

这里写图片描述
3、对网卡域的管理
添加网卡

firewall-cmd --list-interface                                所使用的网卡
eth0 eth1
firewall-cmd --get-zone-of-interface=eth1                    显示eth1的域
firewall-cmd --get-zone-of-interface-eth0                    显示eth0的域
firewall-cmd --change-interface=eth0 --zone=trusted          改变eth0的域
firewall-cmd --remove-interface=eth0 --zone=trusted          从trusted域上摘除eth0
no zone

这里写图片描述
4、更改域中服务的端口
普通更改,刷新后还原设置;添加permanent永久更改,刷新后保持更改。

firewall-cmd --zone=public --add-port=8080/tcp   更改域中服务的端口(临时,刷新服务irewalld后消失)       
firewall-cmd --permanent --zone=public --add-port=8080/tcp   更改域中服务的端口(永久)
firewall-cmd --permanent --zone=public--remove-port=8080/tc  移除域中服务的端口(永久)
firewall-cmd --reload               重新加载
firewall-cmd --complete-reload      完全重新加载  

这里写图片描述
这里写图片描述
5、指定域中永久添加服务

firewall-cmd --permanent --zone=public --add-service=smtp    域中永久添加服务
firewall-cmd --permanent --zone=public--remove-service=smtp  域中永久移除服务

这里写图片描述

二、iptables
iptables的四条链和五个表
这里写图片描述
1、iptables基本命令

    从上到下读取信息,读到的第一个策略生效为准,以下的不再读
-nL 查看火墙策略
-F  清除策略(临时)
-t  指定表
-A  默认添加
-I  指定添加位置
-R  策略修改
-n  不做解析显示IP
-L  显示指定表的信息

iptables -nL 查看火墙策略
这里写图片描述
iptables -F 清除策略(临时)
这里写图片描述
service iptables save 储存火墙策略
火墙策略储存在该目录中
vim /etc/sysconfig/iptables
储存内容:
这里写图片描述
2、iptables应用
1、通过80端口的主机才可访问,否则拒绝

iptables -A INPUT -p tcp --dport 80 -j REJECT

查看策略

iptables -nL

这里写图片描述
此时浏览器无法访问172.25.254.108
这里写图片描述
2、设置所有主机能够访问

iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT  ##-I  指定插入到第一行,否则不读取

查看策略

iptables -nL

这里写图片描述
3、设置IP为61的主机能够访问
修改第一行策略

iptables -R INPUT 1 -s 172.25.254.8 -p tcp --dport 80 -j ACCEPT 

查看策略

iptables -nL

这里写图片描述
此时IP为61的主机浏览器可以访问172.25.254.108,其他主机不可以

3、TCP多端口匹配
指定TCP匹配扩展
通过使用–tcp-flags 选项可以根据TCP包的标志位进行过滤,第一个参数为要检查的标志位;第二个参数是标志位为1的标志

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  ##允许已建立的连接接收数据
iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 3260 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -m state --state NEW -i lo -j ACCEPT  ##回环接口 -lo 本机循环
iptables -A INPUT -j REJECT

这里写图片描述
这里写图片描述

阅读更多
想对作者说点什么? 我来说一句

LINUX基本命令

2010年03月02日 57KB 下载

linux基本命令linux基本命令

2010年03月10日 63KB 下载

Linux网站搭建流程

2017年12月22日 349KB 下载

Linux学习:Linux基本命令

2009年08月18日 113KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭