Linux防火墙使用配置

1、firewalld防火墙的基本使用

启动: systemctl start firewalld

关闭: systemctl stop firewalld

查看状态: systemctl status firewalld 

开机禁用  : systemctl disable firewalld

开机启用  : systemctl enable firewalld

开放22、5601端口:--permanent 是指永久有效,开机启动也不会失效

firewall-cmd --zone=public --add-port=22/tcp --permanent

firewall-cmd --permanent --zone=public --add-port=5601/tcp

删除80端口

firewall-cmd --zone=public --remove-port=80/tcp --permanent

查看打开所有的服务

firewall-cmd --list-services

查看开放所有的端口

firewall-cmd --zone=public --list-ports

重载即更新防火墙规则: firewall-cmd --reload

查看是否开启成功 : firewall-cmd --query-port=5601/tcp

 2、iptable的概念:不是防火墙,是防火墙用户代理,用于把用户的安全设置添加到名为netfilter安全框架中。利用iptables和netfilter可做:数据包过滤,即防火墙;数据包重定向,即转发;网络地址转换,即可NAT。

  设置动作:

  1、ACCEPT:允许数据包通过

  2、DROP:直接丢弃数据包,不给任何回应信息

  3、REJECT:拒绝数据包通过,必要时会给数据发送端一个响应的信息,客户端刚请求就会收到拒绝的信息

  4、SNAT:源地址转换,解决内网用户用同一个公网地址上网的问题

  5、MASQUERADE:是SNAT的一种特殊形式,适用于动态的、临时会变的ip上

  6、DNAT:目标地址转换

  7、REDIRECT:在本机做端口映射

  8、LOG:在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则,也就是说除了记录以外不对数据包做任何其他操作,仍然让下一条规则去匹配    

-A和-I参数分别为添加到规则末尾和规则最前面。
#允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -i lo -j ACCEPT
# 允许已建立的或相关连的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许所有本机向外的访问
iptables -P INPUT ACCEPT
iptables -A OUTPUT -j ACCEPT
# 允许访问ip段端口
iptables -A INPUT -p tcp -s 10.159.1.0/24 --dport 22 -j ACCEPT
#允许FTP服务的21和20端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#如果有其他端口的话,规则也类似,稍微修改上述语句就行
#允许ping
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

防火墙开启 iptables端口号开启
/sbin/iptables -I INPUT -p tcp --dport 8088 -j ACCEPT


#禁止其他未允许的规则访问
iptables -A INPUT -j REJECT #(注意:如果22端口未加入允许规则,SSH链接会直接断开。)
iptables -A FORWARD -j REJECT

 3、屏蔽IP

#如果只是想屏蔽IP的话 “3、开放指定的端口” 可以直接跳过。
#屏蔽单个IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
#封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
#封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
#封IP段即从123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP

4、查看已添加的iptables的规则

iptables -L -n

删除已添加的iptables的规则

将所有iptables以序号标记显示,执行:

#查看

iptables -nvL --line-number

iptables -nL --line-number

iptables -L -n --line-numbers

比如要删除INPUT里序号为8的规则,执行:

iptables -D INPUT 8 

 5、也可以直接编辑配置文件,添加iptables防火墙规则:

iptables的配置文件为/ etc / sysconfig / iptables

编辑配置文件:

vi /etc/sysconfig/iptables

文件中的配置规则与通过的iptables命令配置,语法相似:

如,通过iptables的命令配置,允许访问80端口:

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

那么,在文件中配置,只需要去掉句首的iptables,添加如下内容:

-A INPUT -p tcp --dport 80 -j ACCEPT

添加规则后保存重启生效。

service iptables save

service iptables restart

原文地址:https://www.cnblogs.com/devin-sl/p/12084277.html