LINUX.ORG.RU
ФорумAdmin

Общий вопрос по сетям


0

1

Добрый день,

Подскажите, пожалуйста, а то уже голову сломал.

Есть билайновский модем с белым внешним статическим ip-ом. К этому модему шнурком подключена linux машина. На модеме настроен проброс портов для ssh и web-сервера на эту машину.

Теперь я пробую зайти по ssh (или получить страничку от web сервера). Если я это делаю с любой машины из внешней сети - все работает. Если я подключаю эту же машину (которая только что работала) к билайновскому роутеру (то есть, она оказывается в той же сети, что и сервер) - то все перестает работать:

ssh: connect to host 95.xx.xxx.x port 22: Connection refused

Хотя все ресурсы становятся доступны по внутреннему ip.

Так было не всегда. Все сломалось буквально на глазах. Из значимого, что я в этот момент делал - поставил на linux машину nginx и настроил для нее конфиги.

Попробовал отключить nginx - не починилось.

Arch Linux

В общем, буду благодарен за любые советы

★★

Последнее исправление: lemas (всего исправлений: 1)

Прошивку модема точно не меняли?

Для того чтобы всё работало, от него нужны нетривиальные телодвижения (если конкретно, он должен при перенаправлении из внутренней сети NATить источник запроса, чтобы он был «от модема»). Некоторые умеют, некоторые нет.

LeninGad
()
Ответ на: комментарий от LeninGad

Нет, прошивку не менял. Еще возился с DNS на godaddy.

Еще интересный момент, если в браузере набирать http://mydomainname.com, то:

- снаружи сети откроется страничка, которая отдается nginx-ом (который работает на этой linux машине)
- изнутри сети откроется web интерфейс настройки модема

Может это как-то связано ?

lemas ★★
() автор топика
Последнее исправление: lemas (всего исправлений: 2)
Ответ на: комментарий от lemas

Вот ответ на твой вопрос. У тебя маршрут изнутри сети идет на модем, на котором никакого ссш нет. Можно попробовать просканировать nmap внешний ip из локальной сети.

stave ★★★★★
()
Ответ на: комментарий от stave

У тебя маршрут изнутри сети идет на модем, на котором никакого ссш нет.

Но у меня на модеме есть вот такое правило: http://imagebin.org/290313

Если порт 22 - передать запрос на определенный ip (который принадлежит машине на которой есть ssh).

То есть, как я понимаю, все должно работать так же, как если бы запрос шел снаружи сети на тот же можем (что сейчас работает).

Я не прав и что-то не так понимаю ?

lemas ★★
() автор топика
Последнее исправление: lemas (всего исправлений: 1)
Ответ на: комментарий от lemas

Так это правило на модеме или на роутере? Что за модем-то? При включении сервера в локальную сеть, зайти нельзя на внешний адрес сервера с внешних компьютеров или только с локальных?

stave ★★★★★
()
Ответ на: комментарий от lemas

Не должно работать, если модем не проявит «противоестественный интеллект».

Смотрите, предположим, что мы эти правила переписали в iptables один в один (по DNAT на каждую строчку). Тогда у нас для запросов изнутри интерфейс будет не l2tp.blabla, а внутренний, и для них оно вообще не подействует.

Предположим, мы добавили логику, которая превращает DNAT «для интерфейса l2tp» в DNAT «для того destination IP, который сейчас на интерфейсе l2tp». Тогда опять ничего не заработает, потому что ответ от вашего сервера к клиенту «внутри сети» не пройдёт через модемовский NAT (даже если физически он пройдёт через свитч, являющийся частью модема).

Работающая логика — это делать для перенаправляемых запросов «изнутри на внешний адрес» одновременно SNAT и DNAT, так что ваш сервер будет видет запрос с модема, и ему же отвечать. У меня в zyxel keenetic обычная прошивка так делает, специально для случаев, подобных вашему. Ни один предыдущий роутер (ASUS WL500g, WL520g) «из коробки» такого не умел.

LeninGad
()
Последнее исправление: LeninGad (всего исправлений: 2)
Ответ на: комментарий от stave

Что за модем-то?

Хм... Я так понимал, модем это и есть роутер. Но речь идет о Beeline D150L (я так понимаю, это какой-то dlink).

Эти правила настроены на нем.

С внешних зайти получается. Не получается только с внутренних по внешнему адресу.

lemas ★★
() автор топика
Ответ на: комментарий от LeninGad

У меня в zyxel keenetic обычная прошивка так делает, специально для случаев, подобных вашему. Ни один предыдущий роутер (ASUS WL500g, WL520g) «из коробки» такого не умел.

А настройками linux это не как не решить ? Но ведь работало это еще сегодня - только что history в браузере проверил...

lemas ★★
() автор топика
Ответ на: комментарий от lemas

С внешних зайти получается. Не получается только с внутренних по внешнему адресу.

Проблема в роутере. Не знаю как делается в длинках, можно попробовать создать аналогичные правила на нем, только в интерфейсе указать внутренние порты.

stave ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.