Брандмауэр под линукс

задняя часть Linux
Брандмауэр под линукс

Люди, которые использовали системы Linux, должны быть знакомы с iptables — брандмауэром, который поставляется с Linux, начиная с версии ядра 2.4.x. Теперь, когда ядро ​​Linux обновлено до версии 5.11.x, брандмауэр Linux создал UFW и Firewalld на основе iptables и заменил iptables в некоторых дистрибутивах.

Netfilter/Iptables

Netfilter / Iptables Система Linux поставляется с брандмауэром, правилами управления Iptables, Netfilter является исполнителем правил, которые вместе составляют Linux, брандмауэр с фильтрацией пакетов.

В iptables есть четыре встроенные таблицы, а именно таблица фильтров, таблица nat, таблица mangle и таблица необработанных данных, которые используются для реализации фильтрации пакетов, преобразования сетевых адресов, реконструкции (модификации) пакетов и обработки отслеживания данных соответственно. Каждая таблица будет иметь соответствующую цепочку. На следующем рисунке показаны четыре таблицы и пять цепочек в iptables:

四表五链

Цепочки — это пути, по которым проходят пакеты. В каждой цепочке может быть одно или несколько правил.Когда пакет поступает в цепочку, iptables будет проверять, начиная с первого правила в цепочке, чтобы увидеть, соответствует ли пакет условиям, определенным правилом. Если это так, система обработает пакет в соответствии с методом, определенным правилом, в противном случае iptables продолжит проверку следующего правила. Если пакет не соответствует ни одному из правил в цепочке, iptables обрабатывает пакет в соответствии с предопределенными политиками цепочки по умолчанию.

iptables传输数据包的过程

Эта статья о принципе iptables очень ясно дает понять:blog.CSDN.net/Tennysons может…

В Linux вы можете включить или отключить iptables с помощью следующих команд

// 启动iptables
systemctl start iptables

// 停止iptables
systemctl stop iptables

Обычно используются следующие команды:

// 列出 INPUT 表中规则
iptables -L INPUT

// 允许3306端口TCP协议访问
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

// 允许IP为xxx.xxx.xxx.xxx通过udp访问本地500端口
iptables -I INPUT -p udp --dport 500 -s xxx.xxx.xxx.xxx -j ACCEPT

// -I参数是将规则插入表开头,-A是把规则添加到表未尾,优先级最低,可做为默认规则
// 当不符合前面规则后拒绝所有请求
iptables -A INPUT -p tcp -j REJECT

// 删除INPUT表中第1条规则
iptables -D INPUT 1

// 清空规则列表
iptables -F

iptables также может выполнять пересылку пакетов на основе ядра. В Интернете слишком много статей об использовании iptables, поэтому я не буду писать больше.

Следует отметить, что хотя правила iptables могут вступить в силу немедленно, они не сохраняются. Он будет потерян после включения питания.

Сохранение выполнения системы RedHat:

service iptables save

Система Debian выполняет iptables-save, чтобы получить список всех правил и сохранить вывод в файл. Восстановление с помощью iptables-restore при запуске системы.

// 保存
iptables-save > /etc/iptables.conf

// 恢复
iptables-restore < /etc/iptables.conf

UFW и брандмауэр

Iptables очень мощный и сложный, поэтому есть UFW и Firewalld. Их команды намного проще и понятнее, а нижний уровень — это вызов iptables.

  • UFW

UFW — это брандмауэр под Ubuntu:

// 启动ufw
systemctl start ufw

// 停用ufw
systemctl stop ufw

Обычно используются следующие команды:

// 查询ufw开启状态,打印规则
ufw status

// 允许80端口访问
ufw allow 80

// 拒绝8000端口访问
ufw deny 9000

// 拒绝ip为xxx.xxx.xxx.xxx访问
ufw deny from xxx.xxx.xxx.xxx

// 允许通过tcp协议,9000-9002访问
ufw allow 9000:9002/tcp

// 删除规则
ufw delete allow http
  • Firewalld

Firewalld — это брандмауэр, входящий в состав Fedora/CentOS 8 и более поздних версий:

// 启动firewalld
systemctl start firewalld

// 停用firewalld
systemctl stop firewalld

Обычно используются следующие команды:

// 允许tcp协议8161端口访问,--zone(作用域),--permanent(永久生效)
firewall-cmd --zone=public --add-port=8161/tcp --permanent

// 重新加载规则
firewall-cmd --reload

// 将80端口的流量转发至8080
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080

// 将80端口的流量转发至192.168.0.1
firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.1.0.1

// 将80端口的流量转发至192.168.0.1的8080端口
firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080

Firewalld также имеет графический интерфейс:

firewalld


Если не указано иное, все "Осадный лев · Чжэн"Оригинал статьи, пожалуйста, укажите источник.

Ссылка на эту статью:engr-z.com/402.html