Проброс Инета в локальную сеть

На доскональное знание данной темы, не может претендовать, пожалуй ни один спец, из ныне живущих на земле. ;-)
Так поможем друг другу.

Модераторы: Trinity admin`s, Free-lance moderator`s

Ответить
Viktor
member
Сообщения: 33
Зарегистрирован: 03 июн 2003, 11:28

Проброс Инета в локальную сеть

Сообщение Viktor » 18 май 2006, 10:51

Шлюз работает на ALT Master 2.4 со следующими настройками:

INET_IFACE="eth0"
INET_IP="111.111.111.111"
LAN_IP="192.168.0.1"
LAN_IFACE="eth1"
LOOPBACK="lo"
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -p ALL -i $LOOPBACK -j ACCEPT
iptables -A OUTPUT -p ALL -o $LOOPBACK -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $LAN_IFACE -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP
iptables -A INPUT -i eth1 -d $LAN_IP -p tcp --dport 22 --sport 1024: -j ACCEPT
iptables -A OUTPUT -o eth1 -s $LAN_IP -p tcp --dport 1024: --sport 22 -j ACCEPT
iptables -A INPUT -i eth1 -d $LAN_IP -p tcp --dport 3128 --sport 1024: -j ACCEPT
iptables -A OUTPUT -o eth1 -s $LAN_IP -p tcp --dport 1024: --sport 3128 -j ACCEPT
iptables -A INPUT -i eth1 -d $LAN_IP -p udp --dport 137 --sport 1024: -j ACCEPT
iptables -A OUTPUT -o eth1 -s $LAN_IP -p udp --dport 1024: --sport 137 -j ACCEPT
iptables -A INPUT -i eth1 -d $LAN_IP -p tcp --dport 139 --sport 1024: -j ACCEPT
iptables -A OUTPUT -o eth1 -s $LAN_IP -p tcp --dport 1024: --sport 139 -j ACCEPT
iptables -A INPUT -i eth1 -d $LAN_IP -p tcp --dport 80 --sport 1024: -j ACCEPT
iptables -A OUTPUT -o eth1 -s $LAN_IP -p tcp --dport 1024: --sport 80 -j ACCEPT

Внутри сети, по адресу 192.168.0.13 сидит VPN на W2003.
Задача, установить VPN соединение из Инета, для удаленного администрирования и работы из дома.  
Подскажите, как будут выглядеть привила, пробрасывающие пакеты из Инета в локальную сеть.

Аватара пользователя
CrazyFrog
Advanced member
Сообщения: 210
Зарегистрирован: 16 авг 2005, 23:09
Откуда: Мурманск

Re: Проброс Инета в локальную сеть

Сообщение CrazyFrog » 18 май 2006, 23:56

Viktor писал(а): Внутри сети, по адресу 192.168.0.13 сидит VPN на W2003.
Задача, установить VPN соединение из Инета, для удаленного
администрирования и работы из дома. Подскажите, как будут выглядеть
привила, пробрасывающие пакеты из Инета в локальную сеть.
как-то так, для NAT:

Код: Выделить всё

iptables -t nat -A PREROUTING -i $INET_IFACE -j DNAT -p <proto> --dport <port1> --to 192.168.0.13:<port2>
И для разрешения прохождения пакетов:

Код: Выделить всё

iptables -A FORWARD -i $INET_IFACE -o $LAN_IFACE -m state -p <proto> --dport <port2> --state ESTABLISHED,RELATED -j ACCEPT
Снаружи ты будешь коннектится на $INET_IP. port1/port2 ставишь в
зависимости от своих целей, если на внешнем IP-адресе этот порт
свободен, то можно одинаковые. Иначе придётся разные.

См. документацию на http://www.netfilter.org/documentation/ ... html#ss6.2

Не факт, кстати, что всякий VPN заработает через NAT. IPSec AH точно не заработает без NAT-T. Я бы на твоём месте начал экспериментировать с remote desktop: proto: tcp, port 3389. Только убедись сначала что внутри периметра можешь законнектится к нему.

Ну и критика остальные твоих рулесов:
Viktor писал(а): iptables -A OUTPUT -o eth1 -s $LAN_IP -p tcp --dport 1024: --sport 22 -j ACCEPT
iptables -A OUTPUT -o eth1 -s $LAN_IP -p tcp --dport 1024: --sport 3128 -j ACCEPT
iptables -A OUTPUT -o eth1 -s $LAN_IP -p udp --dport 1024: --sport 137 -j ACCEPT
iptables -A OUTPUT -o eth1 -s $LAN_IP -p tcp --dport 1024: --sport 139 -j ACCEPT
iptables -A OUTPUT -o eth1 -s $LAN_IP -p tcp --dport 1024: --sport 80 -j ACCEPT
Эти правила лишние. Их перекрывает  
Viktor писал(а): iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
В этом убедиться можно посмотрев в счётчики срабатываний у них (iptables -L -vn, две первые колонки)

Такое вот
Viktor писал(а): iptables -A INPUT -i eth1 -d $LAN_IP -p tcp --dport 22 --sport 1024: -j ACCEPT
я бы переписал с учётом состояния соединения  в виде

Код: Выделить всё

iptables -A INPUT -i $LAN_IFACE -d $LAN_IP -p tcp --dport 22 -m state --state NEW -j ACCEPT

Viktor
member
Сообщения: 33
Зарегистрирован: 03 июн 2003, 11:28

Сообщение Viktor » 19 май 2006, 15:28

Большое спасибо за ответ. Попробую.

Аватара пользователя
peter@work
Advanced member
Сообщения: 66
Зарегистрирован: 10 сен 2004, 13:10
Откуда: SPb

Сообщение peter@work » 02 июн 2006, 13:53

На чем VPN собираетесь делать?
Просто пробрасывать порты из и-нета в локалку aka DNAT я бы не стал.
Либо ядреный KAME/IPSEC, либо OpenVPN зависит от условий реализации.

Ответить

Вернуться в «Серверы - ПО, Unix подобные системы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей