Table of Contents
安装防火墙
Centos安装iptables防火墙方法(通常系统都会自带,如果没有就需要安装)
Linux中有两种防火墙软件,ConterOS7.0以上使用的是firewall,ConterOS7.0以下使用的是iptables,本文将分别介绍两种防火墙软件的使用。
Firewall
Centos放行端口 linux中firewalld防火墙命令
特别提醒:修改后需要重启防火墙方可生效
安装防火墙
yum install firewalld
查看已经开放的端口
firewall-cmd --list-ports
检查端口被哪个进程占用
netstat -lnp|grep 3000
列出所有端口
netstat -ntlp
PS:centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools
- 查看防火墙状态:
systemctl status firewalld
Centons放行端口案例
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --zone=public --add-port=3000/udp --permanent
firewall-cmd --reload
安装
由于CenterOS7.0以上版本并没有预装Iptables,我们需要自行装。
- 安装前先关闭firewall防火墙
- 安装iptables:
m install iptables
- 安装iptables-services:
yum install iptables-services
使用
- 开启防火墙:
systemctl start iptables.service
- 关闭防火墙:
systemctl stop iptables.service
- 查看防火墙状态:
systemctl status iptables.service
- 设置开机启动:
systemctl enable iptables.service
- 禁用开机启动:
systemctl disable iptables.service
- 查看filter表的几条链规则(INPUT链可以看出开放了哪些端口):
iptables -L -n
- 查看NAT表的链规则:
iptables -t nat -L -n
- 清除防火墙所有规则:
iptables -F
iptables -X
iptables -Z
- 给INPUT链添加规则(开放8080端口):
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
- 查找规则所在行号:
iptables -L INPUT --line-numbers -n
- 根据行号删除过滤规则(关闭8080端口):
iptables -D INPUT 1
ubuntu系统的防火墙配置
apt-get update
apt-get install iptables
开放所有端口
Ubuntu系统下:
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
方法一:放行单个端口
例如要放行8888端口
iptables -I INPUT -p tcp --dport 8888 -j ACCEPT
然后保存放行规则
iptables-save
设置完就已经放行了指定的端口,但重启后会失效,下面设置持续生效规则;
安装iptables-persistent
apt-get install iptables-persistent
保存规则持续生效
netfilter-persistent save
netfilter-persistent reload
设置完成后指定端口就会持续放行了;
方法二:放行单个端口
例如要放行8888端口
firewall-cmd --zone=public --add-port=8888/tcp --permanent
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
然后重启防火墙
firewall-cmd --reload
查看防火墙规则
iptables -L