LINUX.ORG.RU
ФорумAdmin

Еще раз про маршрутизацию.


0

0

Доброго времени суток дамы и господа.Получилось так что наша сеть разбита на 3 подсети.1-ая подсеть - сервера (контроллер домена,самба, веб-сервер),2-ая и 3-я подсети - две независимые группы пользователей. (IP подсетей, соответственно: 192,168,1,0; 192,168,2,0; 192,168,3,0) ,кроме того есть выход в инет ч/з радиоканал.На машине с Linux Fedora Core 2 установлены 4 сетевых карты (eth0 - XXX.XXX.XXX.XXX - инет,eth1 - 192.168.1.250 - сервера,eth2 - 192,168,2,250 - группа 1,eth3 - 192.168.3.250 - группа 2).Подскажите как мне настроить сеть что бы пользователи и первой и второй групп друг-друга не видели,все имели доступ к серверам и все 3 подсети имели выход в инет. Я так понял что надо настроить таблицу маршрутизации,но у меня не получается.Я по умолчанию установил шлюз на подсеть 192,168,1,250(eth1).После этого с любого компа из других подсетей на адрес 192,168,1,250 проходят,но на другие не идут.Подскажите в чем дело.Плз.Замучался лазить в гуглях и по форумам.Прошу объяснить русским языком что к чему. В ядро поддержка маршрутизации включена. В файлах /proc/sys/net/...ip_forward и forwarding стоят 1.Заранее благодарен.

Эту проблему можно решить при помощи iptables:

iptables -A FORWARD -s 192.168.2.0/24 -d 192.168.3.0/24 -j REJECT

iptables -A FORWARD -s 192.168.3.0/24 -d 192.168.2.0/24 -j REJECT

Всё.

anonymous
()
Ответ на: комментарий от Login

Выдается сообщение что удаленный порт недоступен. Может быть вы подробно расскажете что надо настроить на компе который должен использоваться в качестве шлюза между подсятями и интернетом. Просто я никогда такими делами не занимался,поэтому слабо себе представляю что надо делать.

Newonder
() автор топика
Ответ на: комментарий от Newonder

Я имею в виду не только маршрутизацию.

Newonder
() автор топика
Ответ на: комментарий от Newonder

Маршрутизация:
route add default gw n.n.n.n dev eth0
n.n.n.n - IP адрес шлюза провайдера (в сторону которого смотрит eth0).
(остальные маршруты должны подниматься автоматически при поднятии интерфейсов, прописывать их вручную обычно не нужно)

Firewall:
iptables -P FORWARD ACCEPT
iptables -A FORWARD -i eth2 -o eth3 -j DROP
iptables -A FORWARD -i eth3 -o eth2 -j DROP
iptables -A FORWARD -i eth0 -m state --state NEW,INVALID -j DROP
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source XXX.XXX.XXX.XXX

spirit ★★★★★
()
Ответ на: комментарий от spirit

Ребят,я что-то окончательно запутался.Как я понял,route - настройка таблицы маршрутизации,iptables - файервол,squid - прокси сервер.У меня выставлены значения файервола по умосчанию ACCEPT для всего.squid я еще не поднимал вообще.Сейчас меня интересуют настройки route.У меня в таблице маршрутизации прописана связь каждой подсети с конкретным интерфейсом,но пинги из одной подсети в другую не проходят. В настройках шлюза сетевых устройств клиентов я писал адреса соответствующих интерфейсов.Что мне надо прописывать в поле шлюз по умолчанию для каждого из сетевых интерфейсов на маршрутизаторе? Почему не проходят пинги? Наберитесь терпения и объясните все пожалуйста подробно. Пока без настроек iptables. Просто помогите соеденить подсети. Потом поедем дальше. :-))

Newonder
() автор топика
Ответ на: комментарий от Newonder

Кстати, почему-то у меня пингуются оба интерфейса на маршрутизаторе из любой подсети, но дальше интерфейса дело не идет, хотя непосредственно с маршрутизатора пинг проходит во всех направлениях.

Newonder
() автор топика
Ответ на: комментарий от Newonder

В таком случае сначала было бы не плохо найти и почитать документацию, а то, если каждому рассказывать такое, - скучно станет на форуме :-)
В целом должно быть так:
маршрутизатор:
route add -net 192.168.1.0 netmask 255.255.255.0 dev eth1
route add -net 192.168.2.0 netmask 255.255.255.0 dev eth2
route add -net 192.168.3.0 netmask 255.255.255.0 dev eth3
route add default gw n.n.n.n dev eth0
n.n.n.n - IP адрес шлюза провайдера (в сторону которого смотрит eth0).

на каждом клиенте в каждой из сетей этот маршрутизатор должен быть прописан как default-ный (иначе придется прописывать те же самые маршруты через него, вместо одного - default-ного).
Ну и конечно же разрешить IP forwarding, который у вас уже и так включен.
Вот и все: маршрутизатор знает как добраться к любой из сетей (в том числе и в internet), и клиенты в другие сети шлют через маршрутизатор, который знает обо всем.

> Что мне надо прописывать в поле шлюз по умолчанию для каждого из сетевых интерфейсов на маршрутизаторе?
Ничего не надо прописывать, т.к. такого понятия как "default-ный шлюз для такого-то интерфейса" не существует (IMHO).
Если у вас RedHat-подобный дистрибутив, пропишите шлюз провайдера в /etc/sysconfig/network и все.

> Почему не проходят пинги?
Либо клиент не знает куда (через кого) слать, либо та сторона не знает куда ответить. Используйте на шлюзе tcpdump - увидите что происходит.

spirit ★★★★★
()
Ответ на: комментарий от spirit

Ребята спасибо большое за попытки помочь,только я тупил по черному.В принципе я мог сразу начать работать.У меня в ядро были вкомпилены сетевые службы в виде модулей и по умолчанию они были отключены.Т.о. я виноват извините, проглядел.

Newonder
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.