- 产品文档
- > 计算服务
- > 云服务器
- > 新手教程
- > Linux 新手教程
- > Linux 的防火墙配置
Linux 的防火墙配置
网易云提供的 Linux 操作系统都可以安装 iptables,有些发型版已经自带了 iptables,可以使用
# iptables --version
iptables v1.6.0
查看 iptables 版本
Attention
1.CentOS 7 以上版本默认是 Firewalld ,不过也可以使用 iptables。
2.配置防火墙,通常我们建议只开放必须的服务端口,对其他端口进行禁止。比如你的服务器只是对外提供 web 服务的,则只提供 HTTP 和 HTTPS 服务以及操作系统的 SSH 服务端口是最安全的。
配置规则
1.清空规则
iptables -F
iptables -X
iptables -Z
2.配置规则
在配置规则时需要注意防火墙的规则要求,通常是将经常使用的端口写在最前面,我们建议将 SSH 端口写在最前面,例如下面的规则
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j REJECT
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
以上命令依次按优先级顺序开放了22、80、443端口,拒绝了3306端口的访问(数据库我们强烈建议在非必要情况下禁止外网访问)最后一条是允许已经建立了连接的请求。
配置完成可以查看规则
root@centos:~# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306 reject-with icmp-port-unreachable
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
但是此时的规则都是保存在内存中的,都是配置完立即生效的,而一旦掉电就会丢失,因此我们需要将规则保存起来。
# iptables-save > /etc/iptables.rules
然后查看规则
# cat /etc/iptables.rules
# Generated by iptables-save v1.6.0 on Fri Nov 24 11:24:12 2017
*filter
:INPUT ACCEPT [212:17040]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [177:29476]
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Fri Nov 24 11:24:12 2017