Есть сервер под Red'Hat 8.0, на нем два интерфейса, eth0 = 192.168.0.1 адрес интерфейса в локале, eth1 = 192.168.1.1 интерфейс на Инет.
Далее вопрос, как настроить маршрут для пользователей из локали на инет?
Сразу доложу. Пользователи сидят на DHCP.
Если я правильно рассуждаю мы ставим маршрут к сети 192.168.1.0пункт назн. Gateway интерфейс
192.168.1.0 192.168.1.1 eth0
192.168.0.0 192.168.0.1 eth1Да забыл про шлюз в инет
пункт назн. Gateway интерфейс
192.168.1.0 192.168.1.1 eth0
192.168.0.0 192.168.0.1 eth1
Default 192.168.1.254 eth1
Так вот интересный парадокс, ROTED мне выдает совсем другой маршрут
пункт назн. Gateway интерфейс
192.168.1.0 192.168.1.1 eth1
192.168.0.0 192.168.0.1 eth0
Default 192.168.1.254 eth1И ничего не могу с ентитм поделать?! :=((((
Помогите кто чем может, у меня 'опа болит по кабинетам ходить и оправдываться!
Если есть какая либо информация по альтернативным маршрутизаторам, просьба ссылочку.
1) После того как сетевуха опозналась ядром, маршрут для нее добавляется автоматом и ничего руками мутить не надо.
2) Не все ли тебе равно, какой интерфейс будет сомтреть в ИНЕТ а какой в локалку, таблица показанная ROUTED выглядит вполене прилично.
3) Твой DHCP должен раздавать рабочим станциям в твоей локалке gateway а именно 192.168.0.1 (опция option routers 192.168.0.1) или ты на каждой станции должен руками прописать шлюз.
4) необходимо выполнить echo "1" > /proc/sys/inet/ipv4/ip_forwarding (так по крайней мре было в ред хат 7.3)Если сетевухи работают нрмально то после всего выше указанного роутер должен заработать. Проверяется посредством пинга любого компа в сети 192.168.1.0
Я тоже так думал!
Но увы все машины видят только 192.168.1.1, а дальше пишет что интервал ожидания превышен!
>4) необходимо выполнить echo "1" > /proc/sys/inet/ipv4/ip_forwarding (так по крайней мре было в ред хат 7.3)По поводу ентого пунктика, можно по подробней!
>>4) необходимо выполнить echo "1" > /proc/sys/inet/ipv4/ip_forwarding (так по крайней мре было в ред хат 7.3)
>
>По поводу ентого пунктика, можно по подробней!А что ж тут по дробнее. Это флаг который разрешает(1) или запрещает(0) пересылку пакетов между интерфейсами.
Все этого достаточно что бы роутер заработал. Если интерфейсы подняты, то все должно работать.А с роутера обе сетки пингуються?
echo "1" > /proc/sys/inet/ipv4/ip_forwarding действует одноразово, после перезагрузки компа надо посторить или закинуть в rc.local для постоянной загрузки.
С таблицей маршрутизации ничего мутить не надо. Все нужное появиться само.Других причин пока не вижу, почему не работает.
Пингуются обе сетки!
После двух часовых морок, пришла идея (шлюз 192.168.1.254
является также марщрутизатором на другой сервер (это xDSL модем))
Может на нем прописать статистический маршрут на
192.168.0.0 через 192.168.1.1
Вот сижу и думаю а пожет ли енто???
>Пингуются обе сетки!
>После двух часовых морок, пришла идея (шлюз 192.168.1.254
>является также марщрутизатором на другой сервер (это xDSL модем))
>Может на нем прописать статистический маршрут на
>192.168.0.0 через 192.168.1.1
>Вот сижу и думаю а пожет ли енто???
iptablesiptables -t nat -A POSTROUTING -s 192.168.0.9/24 -j MASQUERADE
man iptables
смотри в сторону SNAT - это будет работать эффективнее MASQUERADE.
>Пингуются обе сетки!
>После двух часовых морок, пришла идея (шлюз 192.168.1.254
>является также марщрутизатором на другой сервер (это xDSL модем))
>Может на нем прописать статистический маршрут на
>192.168.0.0 через 192.168.1.1
>Вот сижу и думаю а пожет ли енто???
Да что вы мутите ?Так делаем
eth0 - 192.168.0.1 net 192.168.0.0/24
eth1 - 192.168.1.1 net 192.168.1.0/24 и Internet со шлюзом 192.168.1.254.Есть RedHat любой 7.х, 8.0, 9.0. И netfilter типа iptables, можно и ipchains.
1. Должно быть собрано ядро с поддержкой НАТа. Это опции в Конфигурации сети, статей много на ОпенНет об этом.
Допустим это мы сделали.
2. Подняли интерфейсы
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
ifconfig eth1 192.168.1.1 netmask 255.255.255.0 up
3. Настраиваем маршрутизацию.
После выполнения пункта 2 мы имеем сл. таблицу:
192.168.0.0/24 eth0
192.168.1.0/24 eth1
127.0.0.0/16 lo
Теперь надо установить default gateway, он в нашем примере 192.168.1.254
строчку типа route add 192.168.1.254 eth1 писать не надо так как вторая строка уже ее включает в себя. Надо только написать роутинг всех пакетов которые мы не знаем куда слать на 192.168.1.254.
route add default gw 192.168.1.254
после этого появится строчка
default(0.0.0.0) gw 192.168.1.254 eth1
После этого мы имеем таблицу роутинга которая без загрузки фильтра уже должна заставить сервер видеть все подсети и даже пинговать все внешние адреса(при условии правильной настройки 192.168.1.254.
4. Настраиваем Iptables(Ipchains):
Разница в них для нашего случая только в том что Iptables имеет 3 таблицы
Nat, Mangle, Filter), а ipchains имеет только таблицу Filter.
Так вот нас интересует правило -j MASQ
Выставляем политики Iptables:
iptables -t nat -P PREROUTING ACCEPT ; Это мы делаем на всякий случай
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables "-t filter" -P INPUT ACCEPT
iptables "-t filter" -P FORWARD ACCEPT
iptables "-t filter" -P OUTPUT ACCEPT
" " - это можно не писать так как она считается по дефалту
Теперь у нас разрешено все. Можно пускать
service iptables(ipchains) start ; Ну или другой командой которую вы хотите ... & :)
5. Далее мы должны разрешить маршрутизацию между интерфейсами:
echo "1" > /proc/sys/net/ipv4/ip_forward ; " " - Если в скрипте будете писать ковычки обязательны, иначе не понимает в некоторых версиях.
Что получили.
С локальной машины пинг:
ping 195.34.32.11 ; Это DNS MTU
пинг прошел через сервер но не вернулся так как в netfiltre не хватает одного правила.
У нас сервер должен подставлять свой адрес(НАТ) для покетов посланных во вне, иначе не понятно куцда их слать обратно.
Для Iptables это делается в таблице Nat
iptables -t nat -A POSTROUTING -i eth0 (внутр. интерфейс) -s 192.168.0.0/24 (внутр. сеть) -j SNAT --to-source (сделайте man iptables, точно нее помню правильно ли я написал) 192.168.1.1 (внешний интерфейс сервера)
для ipchains:
ipchains -A FORWARD -i eth0 -s 192.168.0.0/24 -j MASQПосле этого все у нас настроено.
P.S. Описан самай просто пример настройки роутера, для дополнительнйо настройки прочитайте статью на netfilter.org об iptables. Но имейте ввиду что в дополнительных настройках 1.2.9(1.2.7 стандартная поставка RH 9.0) уже функций намного больше.
P.S.S. Разница между маскарадингом и снатом в том что в маскарадинге берется адрес с интерфейса, а в снате он подставляется фильтром на тот который указан в правиле без обращения к сетевухе. Это полезно когда провайдер Вам отдает адрес по DHCP.
P.S.S.S. Про настройки DHCPD на сервере коллега сказал правильно, если адреса получаются по DHCP то надо обязательно указать опцию option routers 192.168.0.1 ; {} в зависимости от версии.Вроде все, если что пишите.
С уважением, Михаил Стаханов.
спасибо! теперь попробую все енто дело сделать !!!
результат скажу!
Все я его убил!
Сервер погиб и "ЖИВАЯ ВОДА" не помогает, теперь заново все устанавливать и парится... Хорошо все документы и базы в резерве есть...
>Все я его убил!
>Сервер погиб и "ЖИВАЯ ВОДА" не помогает, теперь заново все устанавливать и
>парится... Хорошо все документы и базы в резерве есть...А я уверен что всем вишеперечисленным так завалить сервер нельзя. :-))
Определенно происки недоброжелателей.
Но твое состояние я понимаю прекрасно (когда кепят мозги), сам частенько бывал в таких. Золотое правило (сам я ему еще не научился следовать), не торопись, попробуй несколько раз, не получилось почитай литературу, потом попробуй еще раз, если опять не получилось заглянь в доки а друг ты что-то упустил, и вот если и тогда нифига не получается - иди на форум.Может и найдуться люди которые тут же упрекнут меня в том что я сам не следую тем правилам которые написал, и будут правы, таки не следую. В свое оправдание могу лишь сказать, что прежде чем писать в форум я всетки читаю и пытаюсь искать инфу.
И зарание прошу прощения у всех, за мои глупые вопросы в будующем. :-)