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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Проблема: проброс портов через цепочку роутеров по VPN  (Прочитано 1929 раз)

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

Оффлайн Dmitry-75

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Настраиваю вынос в открытый интернет веб-морды хоста SERVICE HOST (192.168.1.108) см. схему.

Вроде заработало (см. ниже), однако есть неожиданная проблема:

ПРОБЛЕМА: - Remote client, подключенный через прокси или через лабораторный прокси на SQUID не может загрузить страницу в любом браузере с симптомом «Web Site found. Waiting for reply.. или Waiting for http://x.x.x.x …».
При этом ошибка не выдается, бесконечно висит крутящийся кружок. Адрес x.x.x.x – белый, не блокируется web sence и пр.
Если же remote client, подключен к интернету «на прямую», напр. при помощи GPRS модема, прямого кабеля от провайдера и пр., то ВСЕ РАБОТАЕТ: страница http://x.x.x.x загружается нормально в любом браузере.

Уважаемые Заслуженные Герои!  Помогите пожалуйста разобраться с iptables, port forwarding, NAT и продиагностировать мою проблему!!!

Я новичок в Ubuntu в частности и в администрировании в целом, это мой первый пост, просьба не пинать.
По способу реализации: ТС знает про DynDNS.

Описание схемы и диагностика:
1. Для исключения последующих ошибок, Local client (см. схему) в сети 192.168.1.0/24 может подключиться без проблем к ресурсам:
(Нажмите, чтобы показать/скрыть)

2. Имеется сервер VDS [fb10, IP: x.x.x.x] :
(Нажмите, чтобы показать/скрыть)

3. На этом сервере настроен и работает l2tp VPN server (настройки тривиальные).

4. На роутере ROUTER (см. схему) настроен и работает l2tp VPN client, автоматом подключающийся к l2tp VPN server.
Настройки подключения:
(Нажмите, чтобы показать/скрыть)

5. На роутере ROUTER я могу пинговать сервер:
(Нажмите, чтобы показать/скрыть)

6. Конфигурация сетевых интерфейсов на VDS:

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

7. При подъёме ppp0 срабатывает  скрипт, расположенный тут: /etc/ppp/ip-up.d/startvpnroute
Скрипт сделан на основе того, что найдено на просторах Googl-a где решали аналогичную проблему.
(Нажмите, чтобы показать/скрыть)

8. Выхлоп скрипта при ручном запуске в консоли /etc/ppp/ip-up.d/startvpnroute :

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

9. Выхлоп iptables-save:

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

10. С сервера VDS при поднятом VPN – подключении я могу пинговать SERVICE HOST и ROUTER:
(Нажмите, чтобы показать/скрыть)

А теперь внимание!

11. Находясь на сервере VDS при поднятом VPN я могу выполнить wget к веб-интерфейсу SERVICE HOST, и вот что происходит:

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

Команда wget подвисает, и не загружает страницу. Хотя, это страница с логином, но это не запрос авторизации через http-headers, или как оно точно называется, а именно – обычная страница, с формой, которую можно сохранить из браузера на локальный диск. Может ли данный момент быть причиной проблемы, описанной в п. ПРОБЛЕМА
Или, это не имеет отношения к основной причине? Ведь при «прямом» подключении Remote Client – все работает.

12. Также проброшена страница админки роутера ROUTER, при попытке загрузить, получаем адекватный выхлоп:

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

При этом, Remote Client за фаерволом также не может открыть и http://x.x.x.x:8085.

Фактически, трафик идет через 3 роутера: ROUTER, MODEM(кот. фактически тоже роутер) и VDS. В чем может быть проблема? MTU, TTL?

С надеждой на конструктивную помощь,
Dmitry-75
« Последнее редактирование: 22 Марта 2014, 02:38:10 от Dmitry-75 »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Я пропустил или действительно нет правил выравнивания mtu?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
1. https://forum.ubuntu.ru/index.php?action=rules
п.п. 1.4. и 1.5.
Прочитайте, пожалуйста, и приведите вашу портянку в соответствие.

2. Не путайте серый и динамический адрес.
3. MTU 1500 на PPP интерфейсе быть не может, потому что не может быть никогда.
4. Скрипт просто убогий. Уберите и не позорьтесь. Добавьте проброс портов в основную настройку брандмауэра и спите спокойно.
5. `tracepath 192.168.1.108' с VDS покажите.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Dmitry-75

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

Большое спасибо за оперативный ответ, fisher74, пойду выкуривать выравнивание MTU по Вашим ссылкам на форуме

Пользователь решил продолжить мысль 21 Марта 2014, 22:40:11:
1. https://forum.ubuntu.ru/index.php?action=rules
п.п. 1.4. и 1.5.
Прочитайте, пожалуйста, и приведите вашу портянку в соответствие.

2. Не путайте серый и динамический адрес.
3. MTU 1500 на PPP интерфейсе быть не может, потому что не может быть никогда.
4. Скрипт просто убогий. Уберите и не позорьтесь. Добавьте проброс портов в основную настройку брандмауэра и спите спокойно.
5. `tracepath 192.168.1.108' с VDS покажите.

Спасибо за оперативный ответ, ув. AnrDaemon,

1. Пока я сворачиваю свою портянку, согласно  п.п. 1.4. и 1.5., сообщу, что:
2. Серый и динамический адреса я не путаю, конкретно в моем случае из модема виден unroutable IP, не похожий на Private-Use Networks.
3. Спасибо, уже начал выкуривать этот момент.
4. Скрипт уберу, это пока development, что бы все сбрасывалось "в ноль" и настраивалось в одном месте;
5. вывод tracepath :
root@fb10:~# tracepath 192.168.1.108
 1:  10.152.2.1                                            0.068ms pmtu 1500
 1:  no reply
 2:  no reply
. . .
31:  no reply
     Too many hops: pmtu 1500
     Resume: pmtu 1500

Упс...



« Последнее редактирование: 21 Марта 2014, 22:40:11 от Dmitry-75 »

Оффлайн AnrDaemon

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

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

Оффлайн Dmitry-75

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

Еще раз большое спасибо, у меня все заработало! :) :) :)

1. Как писал ув. fisher74 еше в июле 12-го, надо конечно добавить правила https://forum.ubuntu.ru/index.php?topic=37515.msg1478681#msg1478681
2. Надо подобрать значение MTU, например, так:
# ping -D -c1 -s1252 192.168.0.150
Цитировать
-D is the don't fragment flag
-c1 means, send only 1 ping
-snnnn is the payload size in bytes of the ping (without the headers)

The payload size of 1252 bytes corresponds to a MTU of 1280, since the size of the IP header (20 bytes) and of the ICMP header (8 bytes) has to be added. Anyway, the iPhone did not respond.

The iPhone began responding to pings with payload sizes less or equal than 1202, i.e. the MTU for this kind of connection shall be 1230.

Для меня заработало MTU 1340 для ppp0

После этого, соответственно стала вгетиться html страница:
(Нажмите, чтобы показать/скрыть)

а также стал проходить tracepath.

С благодарностью, Dmitry-75


 

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