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

[iptables][nat]Сохранение IP-адреса при трансляции


0

0

Наконец-то решил исправить мелкую, но назойливую проблему.

Когда на роутере была dd-wrt, мой фтп-сервер на ноутбуке нормально отображал в логах айпишник клиента. После установки openwrt и написания наколенного скрипта для ипстолов я в логах все время вижу 192.168.0.1.

Данный косяк проявляется не только с фтп, торрент-клиент тоже почти всех клиентов отображает внутренним адресом роутера.

Скрипт ипстолов (будучи кдешником, я даже в скрипты напихал свистелок): http://paste.org.ru/?hv53x1

Если роутер является шлюзом по умолчанию, можешь закомментить все команды, заканчивающиеся на -j SNAT --to-source $LANIP, все должно нормально работать без них.

Если роутер НЕ является шлюзом по умолчанию, этого делать нельзя.

nnz ★★★★ ()

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

Если подсети разные то выше nnz написал про NAT.

Nao ★★★★★ ()
Ответ на: комментарий от nnz
[werehuman@lithium ~] $ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan0
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 wlan0
0.0.0.0         192.168.0.1     0.0.0.0         UG    303    0        0 wlan0

Как я понял, он у меня является шлюзом по умолчанию.

Тем не менее, закомментил и не пашет редирект внутри сети. К тому же основного вопроса это бы не решило.

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

> Клиенты, твой ноут и роутер находятся в одной подсети?

В разных.

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

>Тем не менее, закомментил и не пашет редирект внутри сети.

Ага, точно. Раскомментируй обратно и добавь им в параметры «-s 192.168.0.0/24».

К тому же основного вопроса это бы не решило.


А вот это уже фигня нездоровая.

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

И да, при коннектах из локалки в качестве исходного адреса все равно будет 192.168.0.1. Это неизбежное зло данного похода. Но при коннектах из внешки исходные адреса должны быть настоящие.

Что касается локалки то, если правильные исходные адреса действительно нужны, лучше вместо проброса использовать подмену DNS (например, прописать хостам локалки в /etc/hosts внешнее имя и внутренний айпишник настоящего сервера).

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

> И да, при коннектах из локалки в качестве исходного адреса все равно будет 192.168.0.1.

Это уже не так страшно. Со своей сетью из двух компов я как-нибудь и без логов разберусь %)

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