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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: как настроить прозрачную маршрутизацию на Ubuntu server 10.4.02 LTS ?  (Прочитано 2013 раз)

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

Оффлайн rssmirnov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Доброго времени суток уважаемые коллеги!

Это мой первый опыт по настройке Ubuntu server.

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

Просим помощи у сообщества Ubuntu: как при приведенных ниже условиях обеспечить прозрачный доступ к подсети xxx.yyy.91.16/28 ?
----
Итак, есть подсеть с публичными адресами ххх.ууу.91.0/27 .
Шлюз провайдера ххх.ууу.91.1/27
Нужно раздать пользователям публичные адреса из подсети xxx.yyy.91.16/28 .
----
Наше решение:

Для тестирования системы решили настроить систему со следующими параметрами:
etho – IP хх.ууу.91.3/28 – смотрит в инет
eth1 – IP ххх.ууу.91.17/28 – смотрит в локалку

Включаем  форвардинг в ядре:
захожу в /etc/sysctl.conf
и раскоментирую:
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.tcp_syncookies=1
net.ipv4.ip_forward=1

Далее конфигурируем /etc/network/interfaces:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address xxx.yyy.91.3
netmask 255.255.255.240
network xxx.yyy.91.0
broadcast xxx.yyy.91.15
gateway xxx.yyy.91.1

auto eth1
iface eth1 inet static
address xxx.yyy.91.17
netmask 255.255.255.240
network xxx.yyy.91.16
broadcast xxx.yyy.91.31

Далее создаем правила для iptables, конфигурируя /etc/rc.local:

#!/bin/sh

# Disable forwarding
echo 0 > /proc/sys/net/ipv4/ip_forward

#WAN_NET='xxx.yyy.91.3/28'
WAN_NIC='eth0'

#LAN_NET='xxx.yyy.91.17/28'
LAN_NIC='eth1'

# Init nat
#iptables -t nat -F
#iptables -t nat -X
#iptables -t nat -P PREROUTING ACCEPT
#iptables -t nat -P POSTROUTING ACCEPT
#iptables -t nat -P OUTPUT ACCEPT

# Init mangle
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT

# Init filter
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# Open ports on router for server/services
iptables -A INPUT -j ACCEPT -p tcp --dport 21
iptables -A INPUT -j ACCEPT -p tcp --dport 22
iptables -A INPUT -j ACCEPT -p tcp --dport 25
iptables -A INPUT -j ACCEPT -p udp --dport 53
iptables -A INPUT -j ACCEPT -p tcp --dport 80
iptables -A INPUT -j ACCEPT -p tcp --dport 110

# ICMP
iptables -A INPUT -j ACCEPT -p icmp

# UDP
iptables -A INPUT -j ACCEPT -p udp

#
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#
iptables -A FORWARD -i $LAN_NIC -o $WAN_NIC -j ACCEPT
iptables -A FORWARD -i $WAN_NIC -o $LAN_NIC -j ACCEPT

#
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# VPN PPTP
iptables -A FORWARD -p gre -j ACCEPT

# Enable forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

Результ:
локальный компьютер с IP xxx.yyy.91.18/28 подключенный к eth1 НЕ ПИНГУЕТ шлюз IP xxx.yyy.91.1 .

Почему не понятно …

Оффлайн drako

  • Старожил
  • *
  • Сообщений: 1422
    • Просмотр профиля
А Вы с провайдером-то договорились, что выданную Вам подсеть Вы порежете? С правилами удобней работать через iptables-save|restore, и зачем вы постоянно включаете-выключаете форвардинг пакетов в ядре?

З.Ы. Спрятали бы простынку под спойлер.

Оффлайн rssmirnov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Спасибо за скорый ответ!

1) С провайдером мы договорились.
2) На счет iptables Ваше замечание верно, но мы работаем в режиме тестирования. Когда получим работающую конфигурацию, сделаем iptables-save и iptables-restore.
3) На счет "спрятать простынку" - учту на будущее  :angel:

Хотелось знать Ваше мнение по существу проблемы  :)

Оффлайн drako

  • Старожил
  • *
  • Сообщений: 1422
    • Просмотр профиля
C save|restore в режиме тестирования проще работать(подправил - загрузил). Покажите cat /proc/sys/net/ipv4/ip_forward, подключите комп с "внутренним" ip напрямую и попробуйте пингануть шлюз прова, если ответит, значит пров не прописал у себя статику.

Оффлайн rssmirnov

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Спасибо за конструктивное обсуждение темы. Разобрались в ситуации, мы не правильно указали АйПи адрес, который смотрит в инет. Вы были правы по поводу статики. Еще раз спасибо огромное  :)

 

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