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


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

Автор Тема: [РЕШЕНО] Интернет-шлюз + виртуальный сервер  (Прочитано 2716 раз)

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

Оффлайн Glaf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Бьюсь над проблемой уже третий день. До этого поднимал с полдюжины шлюзов по разным мануалам, а вот этот ну никак не хочет работать. Может, слишком сложная схема или просто сказывается усталость, чего не замечаю? Ткните носом, пожалуйста, уж сроки сильно поджимают.

Исходные данные:
Сети:
10.58.0.0/24 - провайдер интернет
10.18.125.0/24 - локальная сеть организации
10.18.2.0/24 - локальная сеть удалённого офиса

PC1 - сервер организации на ubuntu 10.04, на нём же крутится в KVM виртуальный Windows Server 2003 (далее VPC2)
задействовано 3 физических сетевых интерфейса:
eth0: без адреса, т.к. на нём поднят br0 для VPC2
eth1: 10.58.0.63 смотрит в шлюз провайдера интернет (10.58.0.254)
eth2: 10.18.125.13 смотрит в локальную сеть
виртуальные интерфейсы:
br0: 10.18.125.63 мост на eth0 для VPC2, смотрит в локальную сеть
vnet0:  без адреса, создан KVM автоматически
Подняты службы:
dnsmask (шлюз DNS + DHCP) - для раздачи адресов компьютерам локальной сети и обслуживания их запросов к DNS.

VPC2 - виртуальный сервер Windows Server 2003 в KVM на PC1
сетевой интерфейс: 10.18.125.11 шлюз 10.18.125.13

PC3 - сервер DNS офиса
внутренний ip: 10.18.125.30
Подняты службы:
DNS

GW4 - шлюз VPN связи с удалённым офисом
ip: 10.18.125.1

Нужно, чтобы запросы VPC2 на адреса сети удалённого офиса уходили через шлюз PC3, а на адреса интернет - через шлюз провайдера 10.58.0.254.
Вроде, не сложная задачка.
DNS работает корректно, здесь не описываю.
Проблемы со шлюзом PC1.

На PC1:
interfaces
(Нажмите, чтобы показать/скрыть)
маршрут в локальной сети, всё в порядке
(Нажмите, чтобы показать/скрыть)
маршрут в сеть удалённого офиса, идёт через GW4, как надо
(Нажмите, чтобы показать/скрыть)
маршрут в интернет, идёт через 10.58.0.254, как надо
(Нажмите, чтобы показать/скрыть)

На виртуальном сервере VPC2:
настройка сети
(Нажмите, чтобы показать/скрыть)
маршрут в локальной сети, всё в порядке
(Нажмите, чтобы показать/скрыть)
маршрут в сеть удалённого офиса, идёт через GW4, как надо
(Нажмите, чтобы показать/скрыть)
маршрут в интернет, затыкается на шлюзе PC1
(Нажмите, чтобы показать/скрыть)

Проверяем настройки шлюза PC1.
iptables
(Нажмите, чтобы показать/скрыть)
ip_forward
(Нажмите, чтобы показать/скрыть)
Проверил, форвардинг срабатывает.
(Нажмите, чтобы показать/скрыть)

Что ещё посмотреть? Где может быть ошибка?


« Последнее редактирование: 22 Декабря 2010, 13:09:07 от Glaf »

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

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Интернет-шлюз + виртуальный сервер
« Ответ #1 : 19 Декабря 2010, 13:05:57 »
Ересь:
   up route add -net 10.18.125.0 netmask 255.255.255.0 gw 10.18.125.13 eth2
   up route add -net 10.18.125.0 netmask 255.255.255.0 gw 10.18.125.13 br0
   up route add -net 10.18.2.0 netmask 255.255.255.0 gw 10.18.125.1 br0

Единственное, что нужно:
   up route add -net 10.18.2.0 netmask 255.255.255.0 gw 10.18.125.1 eth2

Покажи вывод
ip r с PC1

Оффлайн Glaf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: Интернет-шлюз + виртуальный сервер
« Ответ #2 : 19 Декабря 2010, 13:32:53 »
# ip r
10.18.2.0/24 via 10.18.125.1 dev eth2
10.58.0.0/24 dev eth1  proto kernel  scope link  src 10.58.0.63
10.18.125.0/24 via 10.18.125.13 dev eth2  scope link
10.18.125.0/24 dev eth2  proto kernel  scope link  src 10.18.125.13
10.18.125.0/24 dev br0  proto kernel  scope link  src 10.18.125.63
10.112.0.0/16 via 10.18.125.1 dev eth2
169.254.0.0/16 dev eth2  scope link  metric 1000
default via 10.58.0.254 dev eth1  metric 100

10.18.125.0/24 - добавил ещё одну удалённую подсеть

ересь на br0 полностью прибил, перегружаю сервер для чистоты эксперимента.
Перегрузил. результат не изменился.
« Последнее редактирование: 19 Декабря 2010, 15:01:09 от Glaf »

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

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Интернет-шлюз + виртуальный сервер
« Ответ #3 : 19 Декабря 2010, 13:47:06 »
И я чего-то не понял участия eth0 в данной схеме. Если eth2 это локалка, а eth1 это интернет, то что такое eth0? Почему в брижд заводится не eth2?

Оффлайн Glaf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: Интернет-шлюз + виртуальный сервер
« Ответ #4 : 19 Декабря 2010, 14:42:20 »
На сервере 4 сетевые карты, вот и решил выделить одну из них (eth0) чисто для виртуального сервера. Хост-машина пусть общается через eth2. Не жалко :)
Думаешь, с этим проблемы? Как можно проверить?
« Последнее редактирование: 19 Декабря 2010, 14:44:54 от Glaf »

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

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Интернет-шлюз + виртуальный сервер
« Ответ #5 : 19 Декабря 2010, 15:49:58 »
Ну убери из конфигурации eth0 вообще и заведи в бридж вместо неё eth2. И маршруты поправь.

Оффлайн Glaf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: Интернет-шлюз + виртуальный сервер
« Ответ #6 : 20 Декабря 2010, 00:16:43 »
Ожило!
Волшебная команда:
sysctl "net.bridge.bridge-nf-call-iptables=0"
Вот здесь ещё материал по этой проблеме.
« Последнее редактирование: 22 Декабря 2010, 13:12:45 от Glaf »

 

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