LINUX.ORG.RU
решено ФорумAdmin

Как завернуть трафик на localhost


1

1

Здравствуйте. Есть шлюз с Yota'вским USB-модемом. Модем в системе определяется как интерфейс eth2 с адресом 10.0.0.1. Реальный же IP, допустим 1.2.3.4. По этому IP можно подключиться к серверу извне. Из локальной же сети соединения на этот адрес, соответственно, перенаправляются на eth2, и модем их не возвращает обратно, а отклоняет. Какие есть способы завернуть трафик для 1.2.3.4 на локальную машину?

Ответ на: комментарий от melvin

Ну, на самом деле, модем сам перенаправляет все входящие извне соединения на сервер. Но сути это не меняет, всё правильно.

BlackNight ()

Может быть есть какие-то ещё варианты? Можно же, например, сделать виртуальный интерфейс с IP 1.2.3.4. Ищу самый простой и лаконичный вариант. На данный момент просто подменил адрес на локальный в dnsmasq. Но это уж совсем кривое решение.

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

До меня только что дошло что у вас ip из частной подсети + nat у оператора. Ответ - никак, разве что получить статический ip адрес.

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

Прошу прощения, что так коряво изъясняюсь. Старался быть лаконичнее. Более подробно: Есть локальная сеть 192.168.0.0/24 Есть Linux-шлюз с двумя интерфейсами: 192.168.0.1 и 10.0.0.1. Есть модем с двумя интерфейсами: 10.0.0.10 и статическим реальным IP 1.2.3.4. На шлюзе запущен веб-сервер, который доступен извне по 1.2.3.4 через модем. Проблема в том, что из локальной сети и с шлюза он по этому адресу не доступен, потому что трафик уходит на модем, а обратно не возвращается. Модем никак не настраивается.

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

Думаю, что никак без настроек со стороны модема или провайдера.

И, опять, придумал себе проблему.. не проще сделать доступным web сервер в LAN, чтобы он слушал локальный адрес?

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

Он доступен в LAN, но домен-то ссылается на внешний IP. Как временное решение резолвлю домен во внутренний адрес локальным DNS-сервером. Но это костыль, ищу варианты получше.

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

Здрасьте! Свой сервер, свой домен и свой днс с view.

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

Если модем не настраивается, то каким образом запросы идущие на адрес модема форвардятся на шлюз? Значит порт проброшен на модеме.

Идеальное решение в вашем случае - hairpin nat, который нужно сделать на модеме. Примерно так (для iptables и одной частной подсети):

iptables -t nat -A POSTROUTING -o $out_iface -p tcp --dport 80 -s 192.168.0.0/24 --dst 192.168.0.1 -j SNAT --to-source 192.168.0.1 

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

Если модем не настраивается, то каким образом запросы идущие на адрес модема форвардятся на шлюз?

Все запросы пересылаются на шлюз. Как DMZ.

Я в начале написал, что это LTE USB-модем. Видимо для искоробочной поддержки всех платформ он и сделан так хитро. Никаких настроек на нём нет.

Думаю, что NAT'ом на шлюзе получится решить эту проблему, надо только освежить память документацией. А других вариантов не приходит в голову?

BlackNight ()

Это называется nat loopback. Настраивается там же где и сам нат, иначе костылями.

TDrive ★★★★★ ()

Мне больше понравилось так: ip addr add 1.2.3.4/32 dev eth2.

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