Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Проблемы с роутингом  (Прочитано 945 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн president

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Проблемы с роутингом
« : 12 Ноября 2009, 21:28:35 »
Третий день бьюсь с роутингом.
Нарыл инфы всякой, а толку нет.

У меня два интерфейса
eth0-локалка 192.168.1.0/24 и eth1-DHCP
сервер Ubuntu 9.10 192.168.1.1
клиент XP 192.168.1.10

Прописал в /etc/sysctl.conf

net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1
net.ipv4.ip_forward=1

Поэтому /proc/sys/net/ipv4/ip_forward даже после перезагрузки содержит 1.

После чего использовал скрипт.

Цитировать
    #!/bin/sh
    #
    # mytables Set iptables's rulesets
    #
    # chkconfig: 2345 08 92
    # description: Set iptables's rulesets
    #
    ### BEGIN INIT INFO
    # Provides: iptables_rulesets
    # Default-Start: 2 3 4 5
    # Default-Stop:
    # Short-Description: iptables's rulesets
    # Description: iptables's rulesets
    ### END INIT INFO

    echo -n «seting up firewall rulesets...»
    IPT=/sbin/iptables
    EXTIF="ppp0" #интернет
    INTIF="eth1" #интерфейс интернета
    LOCAL="eth0" #локалка


    if echo 1 > /proc/sys/net/ipv4/ip_forward;
    then echo -n "problem with forwarding! not ";
    fi;
    # Enable simple IP forwarding and Masquerading

    $IPT -X
    $IPT -F INPUT
    $IPT -F OUTPUT
    $IPT -F FORWARD
    $IPT -F -t nat
    $IPT -F

    $IPT -P INPUT DROP
    $IPT -P OUTPUT ACCEPT
    $IPT -P FORWARD DROP #можете сделать политику по умолчанию ACCEPT для INPUT,
    #если вам лень настраивать настройки фильтра, но это чрезвычайно небезопасно

    #сюда можно вставить фильтрацию по MAC-адресам

    $IPT -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPT -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
    $IPT -A FORWARD -i $LOCAL -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPT -A FORWARD -i $INTIF -o $LOCAL -j ACCEPT

    $IPT -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
    $IPT -t nat -A POSTROUTING -o $LOCAL -j MASQUERADE

    $IPT -A INPUT -i lo -j ACCEPT
    $IPT -A OUTPUT -o lo -j ACCEPT

    $IPT -A INPUT -m state --state INVALID -j DROP
    $IPT -A FORWARD -m state --state INVALID -j DROP
    $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    echo « successfully!»

Во первых  echo 1 > /proc/sys/net/ipv4/ip_forward у меня не выполняется, пишет access denied. (Выполняю через sudo).
Во вторых, а
Цитировать
    if echo 1 > /proc/sys/net/ipv4/ip_forward;
    then echo -n "problem with forwarding! not ";
    fi;

правильно ли работает?
В третьих пропадает пинг с клиента на сервер, а с сервера на клиента есть.
Поставил
Цитировать
    $IPT -A INPUT -i eth0 -j ACCEPT
    $IPT -A OUTPUT -o eth0 -j ACCEPT
пинг появился (насколько это правильно?)

Но инета на клиенте как небыло так и нет.

Что делать????


Спасибо.




Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Проблемы с роутингом
« Ответ #1 : 12 Ноября 2009, 21:45:56 »
Во первых  echo 1 > /proc/sys/net/ipv4/ip_forward у меня не выполняется, пишет access denied. (Выполняю через sudo).
До > это зона параметров sudo. А после, перенаправление идет уже с непривилегированными правами.
Тут либо получать консоль баша полностью под рутом (sudo -s -H), либо юзать так: sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'

Во вторых, а
Цитировать
    if echo 1 > /proc/sys/net/ipv4/ip_forward;
    then echo -n "problem with forwarding! not ";
    fi;

правильно ли работает?

Судя по контексту - не правильно. При успешном выполнении команды тело в if исполнится. Тут нужно отрицать:
if ! echo 1 > /proc/sys/net/ipv4/ip_forward; then
    echo -n "problem with setup ip_forwarding!";
fi


Пользователь решил продолжить мысль 12 Ноября 2009, 17:51:27:
В третьих пропадает пинг с клиента на сервер, а с сервера на клиента есть.
Поставил
$IPT -A INPUT -i eth0 -j ACCEPT
$IPT -A OUTPUT -o eth0 -j ACCEPT
пинг появился (насколько это правильно?)
Если доверяешь сети на интерфейсе eth0 тогда ок. А вот $IPT -A OUTPUT -o eth0 -j ACCEPT никакой роли не играет. И так $IPT -P OUTPUT ACCEPT, т.е. по дефолту открыто.

Пользователь решил продолжить мысль 12 Ноября 2009, 19:57:35:
Остальное правильно.

Пользователь решил продолжить мысль 12 Ноября 2009, 22:00:45:
На клиенте XP какие настройки? И контрольным выстрелом на сервере sudo iptables-save тоже покажи.
« Последнее редактирование: 12 Ноября 2009, 22:00:45 от Mam(O)n »

Оффлайн president

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Проблемы с роутингом
« Ответ #2 : 12 Ноября 2009, 22:04:24 »
Почему же тогда на клиенте нет инета. Подскажите может как нибудь проверить настройки?
Или в каком-то другом месте проблема?

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Проблемы с роутингом
« Ответ #3 : 12 Ноября 2009, 23:04:22 »
Читай мое последнее обновление предыдущего поста.

Оффлайн president

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Проблемы с роутингом
« Ответ #4 : 13 Ноября 2009, 22:04:03 »
Спасибо все разрешилось. Провайдер раздавал инет на мак адрес. После того как скинули инет пошел.

 

Страница сгенерирована за 0.048 секунд. Запросов: 23.