Linux防火墙使用以及配置
Posted devin_平行时空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
重载: 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 -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
以上是关于Linux防火墙使用以及配置的主要内容,如果未能解决你的问题,请参考以下文章