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


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

Автор Тема: Маршрутизация в нескольких сетях. IPtables.  (Прочитано 1695 раз)

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

Оффлайн artem-moskvin

  • Автор темы
  • Участник
  • *
  • Сообщений: 131
    • Просмотр профиля
Ситуация такова. Требуется выход в Интернет из другой страны, поднял OpenVPN, а настроить маршрутизацию правильно -- не получается.

ИНТЕРНЕТ -- сервер (Россия) == OVPN(10.10.21.0/24) == сервер (Канада) -- клиент(192.168.1.0/24).

На сервере (Канада) iptables:
-A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 10.10.21.6(IP сервер-Канада на интерфейсе OVPN)

На сервере (Россия) iptables:
-A POSTROUTING -s 10.10.21.0/24 -j SNAT --to-source 62.*.*.120(IP сервер-Россия на интерфейсе eth0, выход в Интернет)


У клиентов ничего не работает. Что я делаю не так?
Начинает работать, если в конфиг openvpn добавить push "redirect-gateway def1", но это не решение.
« Последнее редактирование: 26 Мая 2013, 23:27:30 от artem-moskvin »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28479
    • Просмотр профиля
На сервере (Канада) iptables:
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 10.10.21.6(IP сервер-Канада на интерфейсе OVPN)
COMMIT
Неправильно.
Правильно надо делать как правильно - ставить SNAT на пакеты, уходящие с внешнего интерфейса, а не все подряд, какие вам вздумается.
А свои собственные сети натить вообще дурацкая идея. Какие такие надобности запрещают вам иметь прямую маршрутизацию внутри своих собственных сетей?

Цитировать
На сервере (Россия) iptables:
-A POSTROUTING -s 10.10.21.0/24 -j SNAT --to-source 62.*.*.120(IP сервер-Россия на интерфейсе eth0, выход в Интернет)
То же самое - неправильно. Не то натите.


Цитировать
У клиентов ничего не работает. Что я делаю не так?
Получается, что всё...

Цитировать
Начинает работать, если в конфиг openvpn добавить push "redirect-gateway def1", но это не решение.
Да почему же?...
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн artem-moskvin

  • Автор темы
  • Участник
  • *
  • Сообщений: 131
    • Просмотр профиля
AnrDaemon, огромное спасибо за ответ!
[Могу ошибаться.]
redurect gateway не подходит т.к. сервер в Канаде является еще и шлюзом других физических и openvpn сетей.
Маскардинг тоже, по той же причине.
[/Могу ошибаться.]
Я не понимаю, что мне нужно писать? Такая же конфигурация работает с другой сетью (правда, без прокидывания интернета, просто туннель до другой сети) из 192.168.1.0/24 в 10.10.20.0/24. Клиенты из первой сети имеют доступ к виртуальной.

Если Вам не сложно, напишите, пожалуйста, что и где писать, времени нет разбираться прямо сейчас, но разберусь, чтобы не наступать еще раз на грабли.

Если можно использовать прямую так, чтобы она не конфликтовала с другими сетями -- давайте её.
« Последнее редактирование: 26 Мая 2013, 23:35:53 от artem-moskvin »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28479
    • Просмотр профиля
У меня сейчас нет доступа ко второму серверу (там конфигурация сети позамудрёней), но вот вам простой пример, с интерфейсом, смотрящим прямо в интернет:
# iptables-save -t nat
# Generated by iptables-save v1.3.8 on Sun May 26 23:47:21 2013
*nat
:PREROUTING ACCEPT [2011380:121647782]
:POSTROUTING ACCEPT [737392:109159990]
:OUTPUT ACCEPT [1539997:193026098]
-A PREROUTING -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A PREROUTING -i eth1 -p tcp -m tcp --dport 4899 -m conntrack --ctstate NEW -j DNAT --to-destination 192.168.17.2:4899
-A PREROUTING -i eth1 -p tcp -m tcp --dport 23 -m conntrack --ctstate NEW -j DNAT --to-destination 192.168.17.2:23
-A POSTROUTING -o eth1 -j SNAT --to-source xx.yy.200.30
COMMIT
# Completed on Sun May 26 23:47:21 2013
Видите? Я не входящие пакеты маскаражу, как вы, а исходящие.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн artem-moskvin

  • Автор темы
  • Участник
  • *
  • Сообщений: 131
    • Просмотр профиля
AnrDaemon,
-A POSTROUTING -o eth1 -j SNAT --to-source xx.yy.200.30 -- вот это?
Тогда как нужно у меня?

На Сервер-Россия
-A POSTROUTING -o ИнтерфейсСИнтернетом -j SNAT --to-source АдресИнтерфейсаСИнтернетом?
« Последнее редактирование: 27 Мая 2013, 00:02:56 от artem-moskvin »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28479
    • Просмотр профиля
Если инет приходит на интерфейс - да.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн artem-moskvin

  • Автор темы
  • Участник
  • *
  • Сообщений: 131
    • Просмотр профиля
AnrDaemon,
На Канадском сервере -- eth1 -- локалка+интернет(у клиентов этот интерфейс -- default gateway), tun4 -- сеть до Российского сервера.

Так и не понимаю, что и где нужно прописывать. Можете написать?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28479
    • Просмотр профиля
Могу, если покажете, как реально настроена сеть.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн artem-moskvin

  • Автор темы
  • Участник
  • *
  • Сообщений: 131
    • Просмотр профиля
AnrDaemon,
Какие данные я должен предоставить?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28479
    • Просмотр профиля
Ну как минимум (ip a ; ip r).
С пояснениями.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн artem-moskvin

  • Автор темы
  • Участник
  • *
  • Сообщений: 131
    • Просмотр профиля
AnrDaemon,
Сервер-Канада.
(Нажмите, чтобы показать/скрыть)

Сервер-Россия:
(Нажмите, чтобы показать/скрыть)

Надеюсь на понимание форумчан и отсутствие атак на мой адрес.
« Последнее редактирование: 27 Мая 2013, 02:47:31 от artem-moskvin »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28479
    • Просмотр профиля
На канаде сетка 192.168.1/24 кому принадлежит?
На России 62.109.0.120/21 - это "локалка" о которой вы говорили? Или есть ещё интерфейсы-адреса?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн artem-moskvin

  • Автор темы
  • Участник
  • *
  • Сообщений: 131
    • Просмотр профиля
AnrDaemon,
192.168.1.0/24 -- это локалка сервера в Канаде, там интернет и клиенты. Принадлежит мне.
62.109.0.120/21 -- это адрес интерфейса в России. Выдал хостер. Там интернет.

Нужно, чтобы клиенты из Канадской локалки выходили в Интернет с интерфейса 62.109.0.120.
« Последнее редактирование: 27 Мая 2013, 04:14:28 от artem-moskvin »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28479
    • Просмотр профиля
AnrDaemon,
192.168.1.0/24 -- это локалка сервера в Канаде, там интернет
Где "там" интернет? Не вижу.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн artem-moskvin

  • Автор темы
  • Участник
  • *
  • Сообщений: 131
    • Просмотр профиля
AnrDaemon, сервер в Канаде получает интернет с интерфейса em1(192.168.1.0/24).
В этой же сети находятся и клиенты, которые тоже получают интернет. Сервер и клиенты в одном коммутаторе.

 

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