Всем доброе время суток.
Итак, гейтвей. Должен фильтровать в т.ч. транзитный траффик. DNS на нем поднят, но в билайновскую локалку доступ из домашней локалки все равно нужен - когда деньги кончатся, иногда проще счет пополнить с карточки, а через lynx это нереально :) WAN - eth1, через него поднимается ppp0. LAN - eth0. Коннектимся к Билайну по L2TP. Гейтвей в районной сети - 10.42.200.1, его, вместе с DNS и некоторыми локальными ресурсами, получаем по DHCP.
Вот такие я набросал настройки нетфильтра. Опыта в этом не имею, поэтому не удивлюсь, если оно кривое. Что посоветуете сделать иначе?
# Generated by iptables-save v1.4.7 on Sun Feb 20 15:51:15 2011
*security
:INPUT ACCEPT [37:7775]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4:336]
COMMIT
# Completed on Sun Feb 20 15:51:15 2011
# Generated by iptables-save v1.4.7 on Sun Feb 20 15:51:15 2011
*raw
:PREROUTING ACCEPT [46:8436]
:OUTPUT ACCEPT [4:336]
COMMIT
# Completed on Sun Feb 20 15:51:15 2011
# Generated by iptables-save v1.4.7 on Sun Feb 20 15:51:15 2011
*nat
:PREROUTING ACCEPT [29:5478]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [1:70]
-A POSTROUTING -o ppp0 -j MASQUERADE
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
# Completed on Sun Feb 20 15:51:15 2011
# Generated by iptables-save v1.4.7 on Sun Feb 20 15:51:15 2011
*mangle
:PREROUTING ACCEPT [1:229]
:INPUT ACCEPT [1:229]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Sun Feb 20 15:51:15 2011
# Generated by iptables-save v1.4.7 on Sun Feb 20 15:51:15 2011
*filter
:INPUT DROP [1:229]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:check_subnet - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 10.0.0.0/8 -j check_subnet
-A INPUT -p udp -m multiport --dports 53,1701 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 20,21,25,53,110,80,8080,5190,443,6881:6887 -j ACCEPT
-A FORWARD -s 10.0.0.0/8 -j check_subnet
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -j ACCEPT
-A FORWARD ! -i eth0 -p tcp -m multiport --dports 20,21,25,110,80,8080,5190,443,6881:6887 -j ACCEPT
-A check_subnet -s 10.42.200.1/32 -j RETURN
-A check_subnet -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Sun Feb 20 15:51:15 2011