linux防火墙使用 目录
1.老版的iptables(centos6.5以下,redhat 7以下)
iptables语法:
iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> –sport 源端口 <-d 目标IP/目标子网> –dport 目标端口 -j 动作
-t<表>:指定要操纵的表;
-A:向规则链中添加条目;
-D:从规则链中删除条目;
-i:向规则链中插入条目;
-R:替换规则链中的条目;
-L:显示规则链中已有的条目;
-F:清楚规则链中已有的条目;
-Z:清空规则链中的数据包计算器和字节计数器;
-N:创建新的用户自定义规则链;
-P:定义规则链中的默认目标;
-h:显示帮助信息;
-p:指定要匹配的数据包协议类型;
-m:加载其他模块功能;
-s:指定要匹配的数据包源ip地址;
-j<目标>:指定要跳转的目标;
-i<网络接口>:指定数据包进入本机的网络接口;
-o<网络接口>:指定数据包要离开本机所使用的网络接口。
1. 安装 停止 启动
yum install iptables-services #安装iptables
systemctl stop firewalld.service #停止firewalld
systemctl mask firewalld.service #禁止自动和手动启动firewalld
systemctl start iptables.service #启动iptables
systemctl start ip6tables.service #启动ip6tables
systemctl enable iptables.service #设置iptables自启动
systemctl enable ip6tables.service #设置ip6tables自启动
2. 端口开放保存
1.开放80,22,8080 端口
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
2.保存
/etc/rc.d/init.d/iptables save
3. 查看端口
/etc/init.d/iptables status
4.关闭防火墙
1) 永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop
2.新版firewall(firewalld和firewall-config)防火墙
1. 安装启动停止
- <1> 检查系统是否已经安装了firewalld和firewall-config
rpm -qa|grep firewalld;rpm -qa|grep firewall-config
- <2> 在CentOS7以上,系统已经默认安装了firewalld,我们只需要安装firewall-
config(注意:这里是firewall可不是firewalld)即可更新firewalld
yum -y install firewalld
yum -y install firewall-config
yum -y update firewalld 更新firewalld服务
- <3>查看安装详情
rpm -qi firewalld firewall-config
- <4>启动 服务状态查看 停止
systemctl start firewalld
systemctl status firewalld
systemctl stop firewalld
<5>开机不启动和启动服务
systemctl disable firewalld
systemctl enable firewalld
<6> 在不改变状态的情况下重新加载服务
firewall-cmd --reload
2. 配置使用
<1> 获取支持的区域列表
firewall-cmd --get-zones
<2>获取所有支持的服务
firewall-cmd --get-services
<3> 获取所有支持的ICMP类型
firewall-cmd --get-icmptypes
<4>列出全部启用的区域的特性
firewall-cmd --list-all-zones
<5>永久启用区域中的一个端口-协议组合
firewall-cmd --permanent [--zone=<zone>] --add-port=<port>[-<port>]/<protocol>
eg: firewall-cmd --permanent --zone=public --add-port=443/tcp
<6>永久禁用区域中的一个端口-协议组合
firewall-cmd --permanent [--zone=<zone>] --remove-port=<port>[-<port>]/<protocol>
<7> 重启服务
firewall-cmd --reload
systemctl unmask firewalld #执行命令,即可实现取消服务的锁定
systemctl mask firewalld # 下次需要锁定该服务时执行
systemctl start firewalld.service #启动防火墙
systemctl stop firewalld.service #停止防火墙
systemctl reloadt firewalld.service #重载配置
systemctl restart firewalld.service #重启服务
systemctl status firewalld.service #显示服务的状态
systemctl enable firewalld.service #在开机时启用服务
systemctl disable firewalld.service #在开机时禁用服务
systemctl is-enabled firewalld.service #查看服务是否开机启动
systemctl list-unit-files|grep enabled #查看已启动的服务列表
systemctl --failed #查看启动失败的服务列表