linux防火墙

Catalogue
  1. 1. 简介
  2. 2. 端口
    1. 2.1. Ubuntu 18.04开放指定端口
    2. 2.2. centos(RHEL/CentOS/Fedora)开放指定端口
  3. 3. 参考链接

简介

说防火墙就不得不提数据包

数据包经过路由,然后换个ip转发出去。

也就是用不同的源地址重写数据包并将其从不同的网络接口发送出去

Netfilter是位于网卡和内核协议栈之间的一堵墙,是一种免费的软件防火墙,即linux的包的过滤功能,由netfilter 和 iptables 两个组件组成。

Netfilter: Linux内核中的一个数据包处理模块,它可以提供数据包的过滤、转发、地址转换NAT功能。

Iptables: 是一个工具,可以用来在Netfilter中增加、修改、删除数据包处理规则。

端口

Ubuntu 18.04开放指定端口

1
2
3
4
5
6
7
8
9
10
sudo apt-get install iptables

sudo iptables -I INPUT -p tcp --dport [端口号] -j ACCEPT

sudo iptables -I INPUT -p tcp --dport 9111:9115 -j ACCEPT

sudo iptables -I INPUT -p tcp --dport 9111 -j ACCEPT

# 临时保存配置,重启后失效
sudo iptables-save

安装 iptables-persistent工具,持久化开放端口配置

1
2
3
4
5
sudo apt-get install iptables-persistent

sudo netfilter-persistent save

sudo netfilter-persistent reload

另一种方法(Debian/Ubuntu)

1
2
sudo ufw allow 22/tcp
sudo ufw reload

centos(RHEL/CentOS/Fedora)开放指定端口

1
2
3
4
5
6
7
8
9
10
firewall-cmd --zone=public --add-port=9011-9221/udp --permanent
firewall-cmd --zone=public --add-port=9011-9221/tcp --permanent

firewall-cmd --permanent --add-port=66666

重新载入配置
firewall-cmd --reload

显示开放的端口
firewall-cmd --list-ports

参考链接

Ubuntu 与 Centos 开放指定端口