The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
проблема увы тривиальна но у меня уже мозги кипят???, !*! firejo, 02-Янв-04, 16:28  [смотреть все]
  • проблема увы тривиальна но у меня уже мозги кипят???, !*! teebot, 10:19 , 03-Янв-04 (1)
    • проблема увы тривиальна но у меня уже мозги кипят???, !*! firejo, 14:07 , 03-Янв-04 (2)
    • проблема увы тривиальна но у меня уже мозги кипят???, !*! firejo, 14:17 , 03-Янв-04 (3)
      • проблема увы тривиальна но у меня уже мозги кипят???, !*! teebot, 15:41 , 03-Янв-04 (4)
        • проблема увы тривиальна но у меня уже мозги кипят???, !*! firejo, 19:32 , 04-Янв-04 (5)
          • проблема увы тривиальна но у меня уже мозги кипят???, !*! nubi, 22:03 , 04-Янв-04 (6)
          • проблема увы тривиальна но у меня уже мозги кипят???, !*! KoT, 22:56 , 04-Янв-04 (7)
            >Пингуются обе сетки!
            >После двух часовых морок, пришла идея (шлюз 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 ; {} в зависимости от версии.

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

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





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

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