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
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.