@vetash

Iptables, NAT, PPTP, как запретить все, кроме необходимого?

Необходимо запретить все порты, кроме необходимых на интерфейсах eth0 и ppp0.
(Провайдер использует PPTP Dual Acces)

Имеем такой конфиг:
#!/bin/sh
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
# Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
# Разрешаем трафик на loopback-интерфейсе
iptables -A INPUT -i lo -j ACCEPT
# Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i eth1 -o ppp0 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
#iptables -A FORWARD -i wlan0 -o ppp0 -j ACCEPT
# Включаем NAT
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.55.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.55.0/24 -j MASQUERADE
# Разрешаем ответы из внешней сети
iptables -A FORWARD -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Запрещаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i ppp0 -o eth1 -j REJECT
iptables -A FORWARD -i eth0 -o eth1 -j REJECT

#Запретить Samba снаружи
iptables -A INPUT -i eth0 -p udp --dport 139 -j DROP
iptables -A INPUT -i eth0 -p tcp --dport 139 -j DROP
iptables -A INPUT -i eth0 -p tcp --dport 445 -j DROP
iptables -A INPUT -i eth0 -p udp --dport 445 -j DROP

iptables -A INPUT -i ppp0 -p udp --dport 139 -j DROP
iptables -A INPUT -i ppp0 -p tcp --dport 139 -j DROP
iptables -A INPUT -i ppp0 -p tcp --dport 445 -j DROP
iptables -A INPUT -i ppp0 -p udp --dport 445 -j DROP


Что нужно добавить, чтобы на внешних интерфейсах работали порты только:
22,53,80,443,933,465,25,587,143?
Что надо добавить, чтобы отбрасывать нежелательные пакеты?
ptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP

Нашел вот такие опции - только не понял, где надо указывать Интерфейсы на которых оно должно работать.
В общем, опять запутался в правилах iptables, помогите, тону!
  • Вопрос задан
  • 5400 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Skazik
Например -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
Интерфейс указывается после -i
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы