Настройка файрвола iptables в CentOS 8 / RHEL 8

RHEL / Ubuntu / Netfilter 3-11-2020, 15:04 sobir 1 868 0


Утилита командной строки iptables используется для настройки брандмауэра netfilter, встроенного в систему на базе ядра Linux.

#!/bin/bash

# vars
ipt="iptables"
ext_if="enp3s0"
ext_ipaddr="1.2.3.4"
int_if="enp4s2"
int_net="192.168.55.0/24"
dmz_if="cni-podman0"
dmz_net="10.90.0.0/24"

# flush rules
$ipt -F
$ipt -F -t nat
$ipt -F -t mangle
$ipt -X
$ipt -X -t nat
$ipt -X -t mangle

# default policies
$ipt -P INPUT DROP
$ipt -P FORWARD DROP
$ipt -P OUTPUT ACCEPT

# accept established and related connections
$ipt -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# allow icmp traffic
$ipt -A INPUT -p icmp -j ACCEPT

# allow traffic to loopback
$ipt -A INPUT -i lo -j ACCEPT

# allow ssh connections to host machine
$ipt -A INPUT -i $int_if -p tcp -m state --state NEW --dport 22 -j ACCEPT

# allow traffic from LAN to DMZ network
$ipt -A FORWARD -i $int_if -o $dmz_if -j ACCEPT

# allow traffic from WAN to DMZ network
$ipt -A FORWARD -i $ext_if -o $dmz_if -j ACCEPT

# source nat
$ipt -t nat -A POSTROUTING -o $ext_if -s $int_net -j SNAT --to $ext_ipaddr
$ipt -t nat -A POSTROUTING -o $ext_if -s $dmz_net -j SNAT --to $ext_ipaddr
$ipt -A FORWARD -o $ext_if -s $int_net -j ACCEPT
$ipt -A FORWARD -o $ext_if -s $dmz_net -j ACCEPT

# destination nat
$ipt -t nat -A PREROUTING -i $ext_if -p tcp --dport 8090 -j DNAT --to 10.90.0.2:3128
$ipt -t nat -A PREROUTING -i $ext_if -p tcp -m multiport --dports 80,443 -j DNAT --to 10.90.0.3
$ipt -t nat -A PREROUTING -i $ext_if -p tcp --dport 53389 -j DNAT --to 192.168.55.3:3389
$ipt -A FORWARD -i $ext_if -d 192.168.55.3 -p tcp --dport 3389 -j ACCEPT

# show rules
$ipt -S

iptables.sh [1.58 Kb] (cкачиваний: 41)
Похожие новости
Увеличиваем очередь TCP в Linux

Если приложение перестаёт accept()'ить соединения, значит растёт очередь в backlog'е....

Подробнее
How to redirect DNS traffic in Linux

Forced redirect DNS traffic of users in the network with iptables....

Подробнее
Мониторинг реплики AlwaysON с помощью Zabbix

Мониторим estimated recovery time репликационных баз SQL Server AlwaysON в Zabbix....

Подробнее
Трасировка пакетов в iptables

Отслеживаем путь прохождения пакетов через цепочки в iptables....

Подробнее
Отслеживаем соединения контейнеров Docker

Отслеживаем состояние соединений в среде контейнеризации Docker....

Подробнее
iptables DNAT to localhost

Рассмотрим ситуацию, когда необходимо пробросить трафик извне на локальный порт интерфейса loopback....

Подробнее
Комментарии (0)
Новые комментарии
komronu8 сентября 2022 18:23

Салом, можно ещё создать файл в /etc/nginx/proxy_params, a потом добавить туда

img
К комментарию
sobir26 августа 2022 10:43

Можно ещё так: 1. Создаем отдельную сеть для наших контейнеров docker network

img
К комментарию
komronu22 августа 2022 15:12

Спасибо за отзыв, написал отдельную статью по установке и настройке Ansible

img
К комментарию
sobir19 августа 2022 18:00

Думаю в статье необходимо также описать процесс установки Ansible.

img
К комментарию
sobir17 октября 2021 11:40

Принудительное обновление сертификата: certbot certonly --force-renew -d

img
К комментарию
sobir3 июля 2021 14:19

Можно, но я решил описать процесс копирования ключей более подробно.

img
К комментарию
Все комментарии
Какой дистрибутив Linux вы часто используете?
Календарь
«    Июль 2024    »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
293031 
Подпишись на канал