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


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

Автор Тема: Шлюз с 2-мя каналами в Инет [ РЕШЕНО ]  (Прочитано 2077 раз)

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

Оффлайн thunderamur

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6846
    • Просмотр профиля
Дано:
Локальные сети:
192.168.0.0/24
192.168.1.0/24
192.168.2.0/24
192.168.5.0/24
Территориально расположены в разных офисах, соединены по VPN средствами роутеров D-Link.
В локальной сети имеется 2 шлюза. 1-й - 192.168.1.1, дорогой инет по трафику с белым IP, 2-й - 192.168.1.254, дешёвый инет анлим с серым IP.

Задача:
Сделать 3-й шлюз 192.168.1.200, который будет рулить трафиком в сети 192.168.1.0. На 3-м шлюзе 1 сетевой интерфейс, но если это действительно нужно можно сделать и 3. Правила: если пакет предназначен для локальных сетей 0,2,5, то заворачивать его на шлюз через который настроен VPN, т.е. 192.168.1.1, иначе, если трафик в Инет, т.е. всякие браузеры, аськи и т.п., то отправлять через шлюз 192.168.1.254.

Решение:
route -n
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0         192.168.1.254   0.0.0.0         UG    0      0        0 eth0
192.168.0.0     192.168.1.1     255.255.255.0   UG    0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.2.0     192.168.1.1     255.255.255.0   UG    0      0        0 eth0
192.168.5.0     192.168.1.1     255.255.255.0   UG    0      0        0 eth0
root@ubuntu-router:/home/thunder# /proc/sys/net/ipv4/ip_forward
1

Вопрос:
1. Правильно ли это?
2. Как сделать лучше?
« Последнее редактирование: 12 Января 2012, 15:31:10 от ⚡ Thunde® ⚡ »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Шлюз с 2-мя каналами в Инет
« Ответ #1 : 11 Января 2012, 09:19:10 »
-s ЕСТЕСТВЕННО.

- iptables -t nat -A POSTROUTING -o 192.168.1.1 -d 192.168.2.0/24 -j SNAT <IP>
- iptables -t nat -A POSTROUTING -o 192.168.1.1 -d 192.168.3.0/24 -j SNAT <IP>
- iptables -t nat -A POSTROUTING -o 192.168.1.254 ! -d 192.168.1.0/24 -j MASQUERADE
+ iptables -t nat -A POSTROUTING -s 192.168.0.0/16 ! -d 192.168.0.0/16 -j SNAT <IP>

И маршрутизировать 192.168.0.0/16 напрямую.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн thunderamur

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6846
    • Просмотр профиля
Re: Шлюз с 2-мя каналами в Инет
« Ответ #2 : 11 Января 2012, 09:39:30 »
+ пакет из локальных сетей НЕ в локальные сети отправить в инет через шлюз с белым айпи

Я наверное не верно читаю и/или не понимаю зачем это?

Как маршрутизировать напрямую 192.168.0.0/16 и зачем?

Пользователь решил продолжить мысль 11 Января 2012, 12:12:41:
root@ubuntu-router:/home/thunder# route -n
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0         192.168.1.254   0.0.0.0         UG    0      0        0 eth0
192.168.0.0     192.168.1.1     255.255.255.0   UG    0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

сделал так, это то, что ты имел в виду под "маршрутизировать напрямую"?

но мне всё равно не понятно, зачем правило, которое ты пометил "+"
« Последнее редактирование: 11 Января 2012, 12:12:41 от ⚡ Thunde® ⚡ »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Шлюз с 2-мя каналами в Инет
« Ответ #3 : 11 Января 2012, 12:30:22 »
сделал так, это то, что ты имел в виду под "маршрутизировать напрямую"?
нет, это не это. netfilter маршрутизацией пакетов не занимается.

но мне всё равно не понятно, зачем правило, которое ты пометил "+"
Дабы не плодить правила. Оно одно заменяет все три с "-" (и разгружает ведро от маскарада)

Оффлайн thunderamur

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6846
    • Просмотр профиля
Re: Шлюз с 2-мя каналами в Инет
« Ответ #4 : 11 Января 2012, 12:45:26 »
route -n
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0         192.168.1.254   0.0.0.0         UG    0      0        0 eth0
192.168.0.0     192.168.1.1     255.255.255.0   UG    0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.2.0     192.168.1.1     255.255.255.0   UG    0      0        0 eth0
192.168.5.0     192.168.1.1     255.255.255.0   UG    0      0        0 eth0
root@ubuntu-router:/home/thunder# iptables-save
# Generated by iptables-save v1.4.10 on Wed Jan 11 18:44:16 2012
*nat
:PREROUTING ACCEPT [16:2743]
:INPUT ACCEPT [7:780]
:OUTPUT ACCEPT [18:1168]
:POSTROUTING ACCEPT [18:1168]
-A POSTROUTING -d 192.168.0.0/24 -o 192.168.1.1 -j SNAT --to-source <IP1>
-A POSTROUTING -d 192.168.2.0/24 -o 192.168.1.1 -j SNAT --to-source <IP1>
-A POSTROUTING -d 192.168.3.0/24 -o 192.168.1.1 -j SNAT --to-source <IP1>
-A POSTROUTING ! -d 192.168.1.0/24 -o 192.168.1.254 -j SNAT --to-source <IP2>
COMMIT
# Completed on Wed Jan 11 18:44:16 2012

вот так всё работает как надо, сейчас попробую вариант как предложил AnrDaemon.

Пользователь решил продолжить мысль 11 Января 2012, 12:53:11:
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 ! -d 192.168.0.0/16 -j SNAT <IP>
здесь надо <IP1> или <IP2> По идее <IP2>, но всё-таки я не понимаю, это заменит те 3 правила, что я сделал, объясните плиз, я не могу использовать то, что не понимаю...

Пользователь решил продолжить мысль 11 Января 2012, 12:53:58:
маскарадинг использовал, потому что думал, что айпи динамический на дешевом инете, оказалость что нет, поэтому, конечно, везде SNAT.
« Последнее редактирование: 11 Января 2012, 12:53:58 от ⚡ Thunde® ⚡ »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Шлюз с 2-мя каналами в Инет
« Ответ #5 : 11 Января 2012, 13:22:52 »
Цитировать
-A POSTROUTING ! -d 192.168.1.0/24 -o 192.168.1.254 -j SNAT --to-source <IP2>
Это как это? 254-ый же адрес не данного шлюза.

И вообще мне кажется кривой использование в качестве параметра -o(utput interface) IP-адрес этого интерфейса.

Так мало того, ещё и подставляя в качестве --to-source адрес чужого интерфейса.

Пользователь решил продолжить мысль 11 Января 2012, 13:25:36:
Вообще мало понимаю что ТС творит. Если шлюзы внешние, то на этом шлюзе только маршрутизацию разрулить, а NAT доверить шлюзам
« Последнее редактирование: 11 Января 2012, 13:25:36 от fisher74 »

Оффлайн thunderamur

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6846
    • Просмотр профиля
Re: Шлюз с 2-мя каналами в Инет
« Ответ #6 : 11 Января 2012, 15:21:54 »
Дано ВМ (шлюз) с одним сетевым интерфейсом, 2 шлюза 192.168.1.1 и 192.168.1.254. Нужно, при обращении на адреса в локальных сетях 192.168.(0/2/5).0 трафик заворачивался на шлюз 1.1, а трафик в Инет шёл через 1.254.

Пользователь решил продолжить мысль 11 Января 2012, 15:25:13:
Это как это? 254-ый же адрес не данного шлюза.

И вообще мне кажется кривой использование в качестве параметра -o(utput interface) IP-адрес этого интерфейса.

Так мало того, ещё и подставляя в качестве --to-source адрес чужого интерфейса.

Вообще мало понимаю что ТС творит. Если шлюзы внешние, то на этом шлюзе только маршрутизацию разрулить, а NAT доверить шлюзам
1) 2 шлюза имеются 1 и 254, данный считаем 200
2) 1 сетевой интерфейс, шлюзы подключены через сеть
3) см.2
4) как разрулить маршрутизацию правильно?
« Последнее редактирование: 11 Января 2012, 15:25:13 от ⚡ Thunde® ⚡ »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Шлюз с 2-мя каналами в Инет
« Ответ #7 : 11 Января 2012, 16:06:00 »
Судя по таблице маршрутизации в Ответ #4 она у Вас уже разрулена:
1. всё что относится к локальной сети - через х.х.х.1;
2. остальное - через х.х.х.254 (ака deafult-gateway)

Всё. Зачем что-то там маскарадить или NATить?

Оффлайн thunderamur

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6846
    • Просмотр профиля
Re: Шлюз с 2-мя каналами в Инет
« Ответ #8 : 11 Января 2012, 17:38:07 »
я наверное не догоняю, мне надо сделать 3-й шлюз (200), не нужно никакие правила в iptables прописывать?

Гарри Кашпировский

  • Гость
Re: Шлюз с 2-мя каналами в Инет
« Ответ #9 : 11 Января 2012, 19:30:35 »
Возможно схемко набросать примерно?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Шлюз с 2-мя каналами в Инет
« Ответ #10 : 11 Января 2012, 20:48:04 »
я наверное не догоняю, мне надо сделать 3-й шлюз (200), не нужно никакие правила в iptables прописывать?
Тогда сотрите первый пост и опишите проблему заново, ничего не упуская.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн thunderamur

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6846
    • Просмотр профиля
Re: Шлюз с 2-мя каналами в Инет
« Ответ #11 : 12 Января 2012, 03:47:17 »
1-й пост исправил, копирую сюда тоже.

(Нажмите, чтобы показать/скрыть)

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Шлюз с 2-мя каналами в Инет
« Ответ #12 : 12 Января 2012, 08:19:26 »
не нужны никакие правила. Обычная маршрутизация.

Но лучше шлюзы вынести в отдельную сеть. Пусть даже в одной физической сети. В этом случае "самостоятельность" клиентов будет исключена. Почти. Но в случае применения доп. защитных механизмов (принимать на транспортных шлюзах только пакеты от узлового, допустим по mac) будет исключена полностью.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Шлюз с 2-мя каналами в Инет
« Ответ #13 : 12 Января 2012, 09:43:17 »
Почти полностью.
Совсем полностью можно исключить, только выведя шлюзы в отдельный VLAN. Как минимум.
У меня шлюзы в отдельной подсети, в которой кроме шлюзов и сервера ничего не помещается. Любая машина, влезшая в это адресное пространство, мгновенно вызовет панику в логах одного из них.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Шлюз с 2-мя каналами в Инет
« Ответ #14 : 12 Января 2012, 10:00:28 »
В отдельный VLAN, если оборудование позволяет.
А так разрешаем обращаться только правильному mac-у, остальных дропим.

 

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