Проблемы с Linux-ом в качестве маршрутизатора!
-
- Заглянувший
- Сообщения: 28
- Зарегистрирован: 06 июн 2004, 20:08
- Откуда: Belarus
- Контактная информация:
Насчет обнуления /proc/sys/net/ipv4/ip_forward
На самом деле есть такой файлик /etc/sysctl.conf
там изменяешь строчку net.ipv4.ip_forward = 0 на net.ipv4.ip_forward = 1. И все. Маршрутизация включается при загрузке. Просто по умолчанию во всех дистрибутивах этот параметр стоит в 0, что в общем то очень верно.
На самом деле есть такой файлик /etc/sysctl.conf
там изменяешь строчку net.ipv4.ip_forward = 0 на net.ipv4.ip_forward = 1. И все. Маршрутизация включается при загрузке. Просто по умолчанию во всех дистрибутивах этот параметр стоит в 0, что в общем то очень верно.
для РедХат такого параметра нету. Есть /etc/sysconfig/network в нем IPV4_FORWARD=YES надо выставить (что, впрочем) идентично тому что /proc/sys/net/ipv4/ip_forward выставить 1.
У меня настройки роутера такие:
RH9.0 (2.48-20)
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source <ip-modem-pool> (где <ip-modem-pool> каждый раз новый ;( знаю что нужен ip-masquerqdding, тока пока не знаю как его вкрутить)
iptables -A INPUT -s 192.168.0.0/24 -d 192.168.0.1 -j ACCEPT
iptables -A OUTPUT -s 192.168.0.1 -d 192.168.0.0/24 -j ACCEPT
iptables -A OUTPUT -s 192.168.0.1 -d <ip-modem-pool> -j ACCEPT
конечно я могу это парсить из ifconfig ppp0 | grep 'inet addr:'
и потом перепрописывать цепочки в iptables но явно можно проще. Помогите, как?
Еще вопрос - данная конфигурация будет сдерживать "нападки" червей (прущихся на 445 и 135 порты)? У меня в локальной сети много незакрытых win32 клиентов.
У меня настройки роутера такие:
RH9.0 (2.48-20)
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source <ip-modem-pool> (где <ip-modem-pool> каждый раз новый ;( знаю что нужен ip-masquerqdding, тока пока не знаю как его вкрутить)
iptables -A INPUT -s 192.168.0.0/24 -d 192.168.0.1 -j ACCEPT
iptables -A OUTPUT -s 192.168.0.1 -d 192.168.0.0/24 -j ACCEPT
iptables -A OUTPUT -s 192.168.0.1 -d <ip-modem-pool> -j ACCEPT
конечно я могу это парсить из ifconfig ppp0 | grep 'inet addr:'
и потом перепрописывать цепочки в iptables но явно можно проще. Помогите, как?
Еще вопрос - данная конфигурация будет сдерживать "нападки" червей (прущихся на 445 и 135 порты)? У меня в локальной сети много незакрытых win32 клиентов.
-
- Неотъемлемая часть форума
- Сообщения: 354
- Зарегистрирован: 22 сен 2004, 13:47
- Откуда: Minsk
- Контактная информация:
По поводу маскарада:q0x2 писал(а): iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source <ip-modem-pool> (где <ip-modem-pool> каждый раз новый ;( знаю что нужен ip-masquerqdding, тока пока не знаю как его вкрутить)
Код: Выделить всё
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
Клиенты внутри (за натом) из инета не доступны, поэтому атак на 135, 445 да и любые другие порты извне можно не бояться.
Как ни странно, но даже за НАТом все равно не уверен в безопасности.
В универе у нас сетка за натом, выполнено все так же.
Т.е. есть роутер на дебиане и на нем две сетвые карты
одна (10.161.0.1) смотрит внутрь локалки, вторая в сеть универа (10.127.254.3).
eth0:
ip:10.161.0.1
mask:255.255.0.0
eth1:
ip:10.127.254.3
mask:255.128.0.0
default gw: 10.0.0.1
Все это было сделано из-за того, что в университете маршрутизаторы
общаются про OSPF и внешние компьютера, которые пытались проникнуть в локальную сеть
не могли этого.
На этом маршрутизаторе конечно можно было поставить зебру, но
немного поэкспериментировав, убили двух зайцев.
Вроде как закрылись НАТом
Клиенты из внешней сети (10.92.x.x) все равно могут подключаться к домену нашей локалки.
Вот одно правило, с которым все работает:
iptables -t nat -A POSTROUTING -s 10.161.0.0/16 -j SNAT --to-source 10.27.254.3
Клиент настроен так:
ip:10.92.x.x
mask:255.128.0.0
default gw:10.0.0.1
в такой конфигурации локалка за натом ему не видна.
Но как только добиваю на нем такое:
route add 10.161.0.0 mask 255.255.0.0 10.127.254.3
Вся локалка, как на ладони.
Представим, что злоумышленник догадывается(либо узнает из болтовни с клиентом) о
настройках адресов внутри сети. Получится, что ему достаточно будет одного правила
в таблицах маршрутизации и все.
Смысл такого НАТа тогда?
В универе у нас сетка за натом, выполнено все так же.
Т.е. есть роутер на дебиане и на нем две сетвые карты
одна (10.161.0.1) смотрит внутрь локалки, вторая в сеть универа (10.127.254.3).
eth0:
ip:10.161.0.1
mask:255.255.0.0
eth1:
ip:10.127.254.3
mask:255.128.0.0
default gw: 10.0.0.1
Все это было сделано из-за того, что в университете маршрутизаторы
общаются про OSPF и внешние компьютера, которые пытались проникнуть в локальную сеть
не могли этого.
На этом маршрутизаторе конечно можно было поставить зебру, но
немного поэкспериментировав, убили двух зайцев.
Вроде как закрылись НАТом
Клиенты из внешней сети (10.92.x.x) все равно могут подключаться к домену нашей локалки.
Вот одно правило, с которым все работает:
iptables -t nat -A POSTROUTING -s 10.161.0.0/16 -j SNAT --to-source 10.27.254.3
Клиент настроен так:
ip:10.92.x.x
mask:255.128.0.0
default gw:10.0.0.1
в такой конфигурации локалка за натом ему не видна.
Но как только добиваю на нем такое:
route add 10.161.0.0 mask 255.255.0.0 10.127.254.3
Вся локалка, как на ладони.
Представим, что злоумышленник догадывается(либо узнает из болтовни с клиентом) о
настройках адресов внутри сети. Получится, что ему достаточно будет одного правила
в таблицах маршрутизации и все.
Смысл такого НАТа тогда?