将centos7自带的firewall防火墙更换为iptables

1.准备工作
禁用firewall防火墙,日后有需求方便切换
[root@centos7 zzyd]# systemctl stop firewalld #停止firewall防火墙
[root@centos7 zzyd]# systemctl disable firewalld #禁止firewall开机启动
[root@centos7 zzyd]# systemctl status firewalld
 
 
2.安装iptables
[root@centos7 zzyd]# yum install -y iptables iptables-services
[root@centos7 zzyd]#iptables -L #查看iptables防火墙配置文件
[root@centos7 zzyd]#systemctl enable iptables #设置iptables开机启动
[root@centos7 zzyd]#chkconfig --level 2345 iptables off
[root@centos7 zzyd]#service iptables stop  关闭防火墙,但是不推荐关闭防火墙
1) 重启后生效
开启: chkconfig iptables on 永久开启
关闭: chkconfig iptables off 永久关闭
2) 即时生效,重启后失效
开启: service iptables start 临时开启
关闭: service iptables stop 临时关闭
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。
在开启了防火墙时,做如下设置,开启相关端口,
修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(端口80改成自己的)
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT(端口22改成自己的)
重起iptalbes服务:service iptables restart
--------------------------------------------------------------------------------
1、关闭所有的 INPUT FORWARD OUTPUT 即所用端口将被禁掉
 
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
 
再用命令 iptables -L -n 查看 是否设置好, 好看到全部 DROP 了
 
service iptables save 进行保存 (写入到 /etc/sysconfig/iptables)
 
2、设置某个端口开放
 
iptables -A INPUT -p tcp --dport xxx -j ACCEPT
iptables -A OUTPUT -p tcp --sport xxx -j ACCEPT
以上两个命令我今天(18/12/26)设置运行后重启防火墙没有效果
 
-A 参数就看成是添加一条 INPUT 的规则 。 INPUT : 数据进入 OUTPUT :数据返回
 
--dport 就是目标端口 当数据从外部进入服务器为目标端口
 
--sport 数据端口 数据从服务器出去 则为数据源端口
 
-j 指定是 ACCEPT 接收 或者 DROP 不接收
 
iptables -L -n –line-number 查看开启的端口
 
设置完成之后 service iptables save。
 
service iptables restart 重启防火墙。
 
3、删除规则
 
iptables -L -n –line-number
iptables -D INPUT num
 
num:需要删除的规则标号
 
posted @ 2019-01-23 11:31  no_service  阅读(375)  评论(0)    收藏  举报