Задача:
1) На RTR настройте интернет-шлюз для организации коллективного доступа в интернет.Настройте трансляцию сетевых адресов из внутренней сети в адрес внешнего интерфейса.
2) Настройте межсетевой экран на RTR
a. Запретите прямое попадание трафика из сети First Mile в Internal
b. Разрешите удаленные подключения с использованием OpenVPN
на внешний интерфейс маршрутизатора RTR
c. Разрешите SSH подключения на соответствующий порт
d. Разрешите подключения по FTP в соответствии с заданием
e. Для VPN-клиентов должен быть предоставлен полный доступ к сети Internal
Составим скрипт который заполнит iptables необходимыми нам правилами.
#!/bin/bash
# зададим переменные
export IPT="iptables"
export LO="lo"
export WAN="eth0"
export LAN="eth1"
export LANNET="172.16.100.0/24"
export SRV="172.16.100.100"
# очищаем iptables
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X
# правила обрабатывающие входящий трафик
# по умолчанию блокируем входящий трафик
$IPT -P INPUT DROP
# разрешаем пакеты уже установленных соединений
$IPT -A -p all -m state --state ESTABLISHED, RELATED -j ACCEPT
# запрещаем ошибочные пакеты
$IPT -A -p all -m state --state INVALID -j DROP
# разрешаем пакеты с петлевого и локального интерфейсов
$IPT -A -i $LO -j ACCEPT
$IPT -A -i $LAN -j ACCEPT
# разрешаем подключение ssh из глобальной сети
$IPT -A -i $WAN -p tcp -m tcp --dport 1022 -j ACCEPT
# разрешаем подключение OpenVPN из глобальной сети
$IPT -A -i $WAN -p udp --dport 1122 -j ACCEPT
# правила обрабатывающие транзитный трафик
# по умолчанию блокируем транзитный трафик
$IPT -P FORWARD DROP
# разрешаем пакеты уже установленных соединений
$IPT -A -p all -m state --state ESTABLISHED, RELATED -j ACCEPT
# запрещаем ошибочные пакеты
$IPT -A -p all -m state --state INVALID -j DROP
# разрешаем пакеты из локальной сети в глобальную
$IPT -A FORWARD -i $LAN -o $WAN -j ACCEPT
# разрешаем ftp из глобальной сети в локальную к серверу SRV
$IPT -A FORWARD -o $LAN -d $SRV -p tcp -m tcp --dport 20 -j ACCEPT
$IPT -A FORWARD -o $LAN -d $SRV -p tcp -m tcp --dport 21 -j ACCEPT
# пробрасываем ftp порты с RTR на SRV
$IPT -t nat -A PREROUTING -p tcp --dport 20 -i $WAN -j DNAT --to 172.16.100.100
$IPT -t nat -A PREROUTING -p tcp --dport 21 -i $WAN -j DNAT --to 172.16.100.100
# включаем трансляцию адресов из локальной сети в глобальную
$IPT -t nat -A POSTRPUTING -o $WAN -s $LANNET -j MASQUERADE
Помечаем файл исполняемым и запускаем
# chmod a+x iptables.sh
# ./iptables.sh
Экспортируем примененные правила из iptables в файл
/sbin/iptables-save > /etc/iptables.rules
Для того чтобы правила автоматически применялись при перезапуске, добавим в файл /etc/network/interfaces следующую строку *
post-up iptables-restore < /etc/iptables.rules
* возможно использование пакета iptables-persistent, но на момент написания статьи в Debian 9 он не работал с systemd.
Ссылки:
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.