The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"проблема увы тривиальна но у меня уже мозги кипят???"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"проблема увы тривиальна но у меня уже мозги кипят???"
Сообщение от firejo emailИскать по авторуВ закладки on 02-Янв-04, 16:28  (MSK)
Есть сервер под 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

И ничего не могу с ентитм поделать?! :=((((

Помогите кто чем может, у меня 'опа болит по кабинетам ходить и оправдываться!

Если есть какая либо информация по альтернативным маршрутизаторам, просьба ссылочку.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "проблема увы тривиальна но у меня уже мозги кипят???"
Сообщение от teebot Искать по авторуВ закладки on 03-Янв-04, 10:19  (MSK)
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

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "проблема увы тривиальна но у меня уже мозги кипят???"
Сообщение от firejo emailИскать по авторуВ закладки on 03-Янв-04, 14:07  (MSK)
Я тоже так думал!
Но увы все машины видят только 192.168.1.1, а дальше пишет что интервал ожидания превышен!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "проблема увы тривиальна но у меня уже мозги кипят???"
Сообщение от firejo emailИскать по авторуВ закладки on 03-Янв-04, 14:17  (MSK)
>4) необходимо выполнить echo "1" > /proc/sys/inet/ipv4/ip_forwarding (так по крайней мре было в ред хат 7.3)

По поводу ентого пунктика, можно по подробней!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "проблема увы тривиальна но у меня уже мозги кипят???"
Сообщение от teebot Искать по авторуВ закладки on 03-Янв-04, 15:41  (MSK)
>>4) необходимо выполнить echo "1" > /proc/sys/inet/ipv4/ip_forwarding (так по крайней мре было в ред хат 7.3)
>
>По поводу ентого пунктика, можно по подробней!

А что ж тут по дробнее. Это флаг который разрешает(1) или запрещает(0) пересылку пакетов между интерфейсами.
Все этого достаточно что бы роутер заработал. Если интерфейсы подняты, то все должно работать.

А с роутера обе сетки пингуються?
echo "1" > /proc/sys/inet/ipv4/ip_forwarding действует одноразово, после перезагрузки компа надо посторить или закинуть в rc.local для постоянной загрузки.
С таблицей маршрутизации ничего мутить не надо. Все нужное появиться само.

Других причин пока не вижу, почему не работает.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "проблема увы тривиальна но у меня уже мозги кипят???"
Сообщение от firejo emailИскать по авторуВ закладки on 04-Янв-04, 19:32  (MSK)
Пингуются обе сетки!
После двух часовых морок, пришла идея (шлюз 192.168.1.254
является также марщрутизатором на другой сервер (это xDSL модем))
Может на нем прописать статистический маршрут на
192.168.0.0 через 192.168.1.1
Вот сижу и думаю а пожет ли енто???


  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "проблема увы тривиальна но у меня уже мозги кипят???"
Сообщение от nubi Искать по авторуВ закладки on 04-Янв-04, 22:03  (MSK)
>Пингуются обе сетки!
>После двух часовых морок, пришла идея (шлюз 192.168.1.254
>является также марщрутизатором на другой сервер (это xDSL модем))
>Может на нем прописать статистический маршрут на
>192.168.0.0 через 192.168.1.1
>Вот сижу и думаю а пожет ли енто???


iptables

iptables -t nat -A POSTROUTING -s 192.168.0.9/24 -j MASQUERADE

man iptables
смотри в сторону SNAT - это будет работать эффективнее MASQUERADE.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "проблема увы тривиальна но у меня уже мозги кипят???"
Сообщение от KoT Искать по авторуВ закладки on 04-Янв-04, 22:56  (MSK)
>Пингуются обе сетки!
>После двух часовых морок, пришла идея (шлюз 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 ; {} в зависимости от версии.

Вроде все, если что пишите.

С уважением, Михаил Стаханов.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "проблема увы тривиальна но у меня уже мозги кипят???"
Сообщение от firejo Искать по авторуВ закладки on 05-Янв-04, 11:14  (MSK)
спасибо! теперь попробую все енто дело сделать !!!
результат скажу!
  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "проблема увы тривиальна но у меня уже мозги кипят???"
Сообщение от firejo emailИскать по авторуВ закладки on 06-Янв-04, 21:13  (MSK)
Все я его убил!
Сервер погиб и "ЖИВАЯ ВОДА" не помогает, теперь заново все устанавливать и парится... Хорошо все документы и базы в резерве есть...


  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "проблема увы тривиальна но у меня уже мозги кипят???"
Сообщение от teebot Искать по авторуВ закладки on 07-Янв-04, 00:55  (MSK)
>Все я его убил!
>Сервер погиб и "ЖИВАЯ ВОДА" не помогает, теперь заново все устанавливать и
>парится... Хорошо все документы и базы в резерве есть...

А я уверен что всем вишеперечисленным так завалить сервер нельзя. :-))
Определенно происки недоброжелателей.
Но твое состояние я понимаю прекрасно (когда кепят мозги), сам частенько бывал в таких. Золотое правило (сам я ему еще не научился следовать), не торопись, попробуй несколько раз, не получилось почитай литературу, потом попробуй еще раз, если опять не получилось заглянь в доки а друг ты что-то упустил, и вот если и тогда нифига не получается - иди на форум.

Может и найдуться люди которые тут же упрекнут меня в том что я сам не следую тем правилам которые написал, и будут правы, таки не следую. В свое оправдание могу лишь сказать, что прежде чем писать в форум я всетки читаю и пытаюсь искать инфу.
И зарание прошу прощения у всех, за мои глупые вопросы в будующем. :-)

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру