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

не работает NAT

 , ,


0

1

Доброго всем времени суток. Есть машинка с двумя сетками и Дебианом нет-инсталл тестинг. Сетка enp2s2 - смотрит в мир и имеет статичный провайдерский ip Сетка enp2s1 - смотрит в локалку на 20 компов и имеет статичный ip 192.168.1.9 Задача вроде бы тривиальная - раздать интернет. Для этого, в течение 3 суток изучено всё найдённое нигмой (пользоваться гуглом не позволяют настройки безопасности национального оператора связи) по iptables и написан свод правил, который лежит тут

Списочек корректно отрабатывается. В выводе ошибок нет, однако не работает NAT. Пинги с шлюза в инет - есть, в локалку - есть, из локалки до шлюза - нету.

Прошу - ткните пальцем в ошибку.

Заранее благодарен



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

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

то есть в тексте правила iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o enp2s2 -j SNAT --to-source внешний_провайдерский_ip вместо SNAT --to-source внешний_провайдерский_ip я вписываю MASQUERADE и оно должно заработать?

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

то есть можно просто указать имя интерфейса смотрящего в инет и не указывать его IP, если его нет?

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

Тоже не верно, а вдруг dnat, а вдруг из локалки прова чего-то прилетело... много можно «вдруг» придумать.

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

В таком случае в локалке прова должна быть такая же адресация как и на внутренней сети за шлюзом, а а внешний интерфейс шлюза добавлена маршрутизация для это сети.

Ибо правило NAT`а пишется с указанием адреса внутренней сети:

iptables -t nat -A POSTROUTING -s local_nat/mask -j MASQUERADE

Либо с указанием интерфейсов:

iptables -t nat -i INPUT_IF -o OUTPUT_IF -j MASQUERADE
Либо всё вместе.

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

корочеща проблема не настроить сеть, а установить Debian Net-Install, который не понимает что за него всё делает радиомодем и твёрдо требует себе IP-адрес, без которого отказывается видеть сеть.

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

Что за радиомодем? Если это USB устройство и на нём не должно быть IP адреса, то посмотри какие параметры в таблице маршрутизации выставляются после подключения через него на другой Linux системе, затем запусти установщик Debian, настрой сеть в ручную на локальном интерфейса с указанием IP, шлюза и DNS, затем подключи модем, сделай необходимые настройки для его работы, после чего в ручную измени таблицу маршрутизации, что бы всё работало через модем.

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

Но можно и

iptables -t nat -A POSTROUTING  -j MASQUERADE
Так-то вы абсолютно правы. Я изначально замечание сделал что бы «не понимающие» «не поняли не правильно».

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

Это модем а-ля WiMAX-роутер, который и DHCP-сервер, и DNS-сервер и пр... Только Дебиан-нет-инсталл, не может получить с него настройки сети, а без зеркала сетевого - инсталлиться не желает... Хотя машина под виндой, подключенная к этому роутеру - махом цепляет все сетевые настройки и норм работает... Винда - это карма моя :-(

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

а так ли уж нужен транзит? Не обойдётся разве простым разрешением всего трафика lo и сетевухи, что в локалку смотрит?

не увидел этого сообщения. Не путайте транзитный траф. с остальным. А как тогда пакеты из локалки через шлюз пройдут. С учетом того что политика по умолчанию в цепочке Forward дроп.

У вас вот есть правила:

iptables -A INPUT -i enp2s1 -j ACCEPT
iptables -A OUTPUT -o enp2s1 -j ACCEPT

что по вашему они разрешают? NAT то заработал или нет?

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

с NATом ещё не получилось проверить... комп-шлюз пришлось менять. Новую машину сейчас собираю, потестю часок-другой и буду заново инсталлить, вбивать список правил... Напрягает малость что Дебиан нет-инсталловский не хочет есть настройки по DHCP. Ещё и с этим ковыряться...

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

Что хоть за устройство-то? Скорее всего, что бы он работал в Linux нужно выполнить некоторые действия, а в netinstall нет нужных для этого компонентов.

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

А так, Debian можно ставить посредством Debootstrap: https://wiki.debian.org/ru/Debootstrap из любого дистрибутива, где есть apt и deb и где работает твой модем.

Ну либо ставь не с Netinstall.

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

Так, если это роутер и Linux не получает IP по DHCP, когда подключение по Ethernet, т.е. по проводу, то это странно, но можно параметры сети и руками выставить, IP шлюза и IP адрес можно и так вбить, да и DNS, в чём проблема-то?

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

по DHCP Линукс не получает настройки от роутера. На роутере и DHCP и DNS подняты. Вбиваю руками параметры - вроде инсталлер их принимает, но зеркало пакетов не видит.

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

Проверь пинг с консоли до шлюза, до 8.8.8.8.

Что выводится в dmesg?

Ну и можно всё же ставить не с нетинсталл, а полноценного LiveCD или установочного диска с пакетами для базовой системы.

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

с роутером разобрался уже. Ставится система.

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

итак, пришли к тому же, с чего начинали: NAT не работает. Шлюз видит интернет, видит локальную сеть. Пинги хотя туда-сюда. Локальная сеть не видит ничего. Только друг-друга. Пинги до шлюза не идут. Инета, есессно, тоже нет. Поскольку шлюз получает настройки интернета от DHCP поднятого на роутере, команда SNAT была заменена на MASQUERADE, при этом получилось: # NAT iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o enp2s2 -j MASQUERADE

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

Сетевой интерфейс смотрящий со шлюза в локалку, имеет настройки: ip-адрес: 192.168.1.9 и маску 255.255.255.0

Сетевой интерфейс в локальной сети, смотрящий на шлюз, имеет настройки: ip-адрес: 192.168.1.4, маску 255.255.255.0, и DNS 192.168.1.1

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

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

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

Разрешил вообще всё - не работает... Значит таки NAT.

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

Плохо, что на двух интерфейсах смотрящих физически в разные сети IP адреса реально из одной сети. Меняй адресацию либо там либо там.

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