Asthma Опубликовано 23 июля, 2009 Жалоба Поделиться Опубликовано 23 июля, 2009 Что имеется: Комп с 3мя интерфейсами и установленной Debian 5. Интерфейсы: 10.16.252.0/24 - eth0 - 10.16.252.9-ип роутера в данной подсети 10.16.253.0/24 - eth1 - 10.16.253.9-ип роутера в данной подсети 10.16.255.0/24 - eth2 - 10.16.255.9-ип роутера в данной подсети Задача: Обеспечить роутинг между сетями с возможностью блокировать доступ к некоторым узлам. Вот мой конфиг iptables: #!/bin/bashiptables -F INPUTiptables -F OUTPUTiptables -F FORWARDiptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPTiptables -A INPUT -p tcp --dport 21 -m state --state NEW -j ACCEPTiptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPTiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROPiptables -A INPUT -p icmp -j ACCEPTiptables -A OUTPUT -p icmp -j ACCEPTiptables -A INPUT -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPTiptables -A OUTPUT -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPTiptables -A INPUT -p udp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPTiptables -A OUTPUT -p udp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPTiptables -A FORWARD -s 10.16.252.0/24 -d 10.16.253.0/24 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPTiptables -A FORWARD -s 10.16.252.0/24 -d 10.16.255.0/24 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPTiptables -A FORWARD -s 10.16.253.0/24 -d 10.16.252.0/24 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPTiptables -A FORWARD -s 10.16.253.0/24 -d 10.16.255.0/24 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPTiptables -A FORWARD -s 10.16.255.0/24 -d 10.16.252.0/24 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPTiptables -A FORWARD -s 10.16.255.0/24 -d 10.16.253.0/24 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT В итоге между подсетями почти всё работает. Но никак не получается две вещи: 1) В подсети 10.16.253.0/24, на сервере 10.16.253.1 поднят nat раздающий интернет. В своей подсети всё нормально, через роутер не работает. DNS сервер доступен из других подсетей. 2) В подсети 10.16.252.0/24 есть модем "соло" (10.16.252.1) (через него pptp к серверу провайдера),требуется сделать его доступным для подключения из всех подсетей через данный роутер. На самом модеме прописан роут: к 10.16.253.0/24 и 10.16.255.0/24 ходить через 10.16.252.9(ип роутера) Помогите пожалуйста решить данные проблеммы. Ничего толкового нагуглить не смог... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
gogi Опубликовано 23 июля, 2009 Жалоба Поделиться Опубликовано 23 июля, 2009 К чему Вы приводите настройку iptables. Первым делом настройте матштутизацию с выклеченным фареволом. Если не будет получаться, пишите, какой хост с какого должен, по вашему мнению, пинговаться и не пингуется плюс выводы команды route на этих хостах и марштутизаторе. (Если не задействованы возможности iproute2, то этого пока достаточно). Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Asthma Опубликовано 23 июля, 2009 Автор Жалоба Поделиться Опубликовано 23 июля, 2009 через iptables реализован форвардинг, посмотрите конфиг Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
gogi Опубликовано 23 июля, 2009 Жалоба Поделиться Опубликовано 23 июля, 2009 Asthma писал(а) Thu, 23 July 2009 14:35 через iptables реализован форвардинг, посмотрите конфиг Форвардинг в ядре открывается так: echo '1' >/proc/sys/net/ipv4/ip_forward Или же (то же самое, но эстетичнее ) пропишите в /etc/sysctl.conf строку net.ipv4.ip_forward=1 Часто (но не всегда) это делают при поднятии фаревола, прописывая строку echo '1' >/proc/sys/net/ipv4/ip_forward в скрипт iptables PS Только сохряняйте копии старых файлов. Приедет из отпуска админ - будут неприятности. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Asthma Опубликовано 23 июля, 2009 Автор Жалоба Поделиться Опубликовано 23 июля, 2009 форвардинг в ядре включен и так, пакеты из подсетей ходят в другие подсети через данный роутер, всё нормально, кроме 2ух пунктов описанных в первом посте, прочитайте мой первый пост внимательнее. А именно, 1)не работает nat через роутер в других подсетях, колме "своей родной" 2)не поднимается pptp коннект к другому провайдеру через роутер из других подсетей, кроме своей родной. PS: админа нет другого, а я учусь... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
gogi Опубликовано 23 июля, 2009 Жалоба Поделиться Опубликовано 23 июля, 2009 Ваш первый пост я прочитал внимательно, поэтому ещё раз объясню, что жду от Вас ответа, правильно ли работает маршрутизация при выключенном фареволе (iptabels). При этом ВСЕ пакеты будут проходить через Ваш маршрутизатор беспрепятственно (если включен роутинг). Правила в iptables далеко не "идеальные" (т.е. в большинстве своём совершенно излишние), но я пока увидел там только одну ошибку: нет правила пропускающего пакеты из мира: iptables -A FORWARD -d 10.16.252.0/24 -j ACCEPT и так же для других подсетей. Если после отключения фаревола проблема останется, то выложите вывод команды route 1) На сервере с натом 2) На сервере с модемом 3) На маршрутизаторе 4) На компе, с которого не ходят пакеты. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Asthma Опубликовано 24 июля, 2009 Автор Жалоба Поделиться Опубликовано 24 июля, 2009 route print на win машине в подсети 10.16.255.0/24 (10.16.255.30) Активные маршруты:Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика 0.0.0.0 0.0.0.0 10.16.253.1 10.16.255.30 20 10.16.252.0 255.255.255.0 10.16.255.9 10.16.255.30 1 10.16.253.0 255.255.255.0 10.16.255.9 10.16.255.30 1 10.16.254.0 255.255.255.0 10.16.255.9 10.16.255.30 1 10.16.255.0 255.255.255.0 10.16.255.30 10.16.255.30 20 10.16.255.30 255.255.255.255 127.0.0.1 127.0.0.1 20 10.255.255.255 255.255.255.255 10.16.255.30 10.16.255.30 20 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 169.254.0.0 255.255.0.0 192.168.135.1 192.168.135.1 20 192.168.135.0 255.255.255.0 192.168.135.1 192.168.135.1 20 192.168.135.1 255.255.255.255 127.0.0.1 127.0.0.1 20 192.168.135.255 255.255.255.255 192.168.135.1 192.168.135.1 20 192.168.137.0 255.255.255.0 192.168.137.1 192.168.137.1 20 192.168.137.1 255.255.255.255 127.0.0.1 127.0.0.1 20 192.168.137.255 255.255.255.255 192.168.137.1 192.168.137.1 20 195.222.64.67 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.10 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.29 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.30 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.31 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.32 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.166 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.170 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.174 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.190 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.198 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.202 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.210 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.214 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.222 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.230 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.238 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.242 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.70.246 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.71.201 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.90.10 255.255.255.255 10.16.252.1 10.16.255.30 1 195.222.90.193 255.255.255.255 10.16.252.1 10.16.255.30 1 224.0.0.0 240.0.0.0 10.16.255.30 10.16.255.30 20 224.0.0.0 240.0.0.0 192.168.135.1 192.168.135.1 20 224.0.0.0 240.0.0.0 192.168.137.1 192.168.137.1 20 255.255.255.255 255.255.255.255 10.16.255.30 10.16.255.30 1 255.255.255.255 255.255.255.255 192.168.135.1 192.168.135.1 1 255.255.255.255 255.255.255.255 192.168.135.1 5 1 255.255.255.255 255.255.255.255 192.168.137.1 192.168.137.1 1Основной шлюз: 10.16.253.1===========================================================================Постоянные маршруты: Сетевой адрес Маска Адрес шлюза Метрика 10.16.252.0 255.255.255.0 10.16.255.9 1 10.16.253.0 255.255.255.0 10.16.255.9 1 10.16.254.0 255.255.255.0 10.16.255.9 1195.222.71.201 - впн сервер соло, всё остальное 195.222.x.x различные бесплатные ресурсы ____________________________________________________________ _____________________ ip ro на debian-роутере 10.16.255.0/24 dev eth1 proto kernel scope link src 10.16.255.910.16.253.0/24 dev eth0 proto kernel scope link src 10.16.253.910.16.252.0/24 dev eth2 proto kernel scope link src 10.16.252.9default via 10.16.253.1 dev eth0 ________________________________________ ip ro на серевере раздающем инет по nat (10.16.253.1) x.x.x.x via 10.16.0.1 dev eth010.16.0.0/24 dev eth0 proto kernel scope link src 10.16.0.210.16.255.0/24 via 10.16.253.9 dev eth110.7.0.0/24 dev tap0 proto kernel scope link src 10.7.0.210.16.253.0/24 dev eth1 proto kernel scope link src 10.16.253.1default via 10.7.0.1 dev tap0Где x.x.x.x - сервер с котрого приходит инет через openvpn сеть 10.7.0.0/24, которая в свою очередь постороенна на физической сети 10.16.0.0/24сейчас пробую только для подсети 10.16.255.0/24, из-за этого пока нету роута к 10.16.252.0/24 ____________________________________________________________ ___ на модеме соло в подсети 10.16.252.0/24 прописан роуты 10.16.253.0/24 via 10.16.252.910.16.255.0/24 via 10.16.252.9 клиенты из разных подсетей прописавшие у себя роуты видят друг-друга только вот эти две проблеммы описанные в первом посте никак не знаю как решить Пожалуйста подскажите что делать... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
gogi Опубликовано 24 июля, 2009 Жалоба Поделиться Опубликовано 24 июля, 2009 При беглом просмотре нашел одну ошибку, достаточную для того, чтобы не холи пакеты в мир. На виндоус компе правильно пропишите дефаулт шлюз - 10.16.255.9. Он должет быть в своей подсети. Если этого будет не достаночно, то включите на этом компе пинг на внешний адрес, а на компе с натом смотрите tcpdump. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.