Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   Правильная настройка iptables (http://forum.oszone.net/showthread.php?t=354645)

NickM 06-12-2023 09:44 3021058

Правильная настройка iptables
 
Уважаемые, приветствую!

Что-то не могу осилить настройку iptables для следующей задачи :sorry:

Задача состоит в том, что бы переложить раздачу IP на eth2 самим сервером, а не роутером, т.к. на роутере DHCP отсутствует, и что бы клиенты 192.168.1.х выходили в сеть под Своим IP.

Дано:
- 3 сетевых;
- DHCP, SAMBA-DC с внутренним DNS на сервере;
- eth0: IP сетевой - 192.168.1.2, к сетевой подключён роутер с IP 192.168.1.1 и обеспечивает выход в сеть Интернет;
- eth1: IP сетевой - 192.168.10.1, маскарадинг для клиентов с выходом в сеть Интернет и на сетевой работает DHCP ;
- eth2: IP сетевой - 192.168.1.3, здесь предполагается раздача адресов для клиентов с помощью DHCP сервера из 192.168.1.х сети;

Сейчас имеется доступ к сети Интернет у клиентов 192.168.10.х, т.к. настроен маскарадинг на сервере.

У клиентов 192.168.1.х никакого доступа сейчас нет :o , но IP от DHCP получают исправно.

В данный момент правила такие-простые:
Скрытый текст
Код:

iptables-save
# Generated by iptables-save v1.8.7 on Wed Dec  6 11:15:33 2023
*mangle
:PREROUTING ACCEPT [675:43736]
:INPUT ACCEPT [609:39365]
:FORWARD ACCEPT [46:2124]
:OUTPUT ACCEPT [744:93924]
:POSTROUTING ACCEPT [788:95912]
COMMIT
# Completed on Wed Dec  6 11:15:33 2023
# Generated by iptables-save v1.8.7 on Wed Dec  6 11:15:33 2023
*nat
:PREROUTING ACCEPT [35:3163]
:INPUT ACCEPT [12:752]
:OUTPUT ACCEPT [53:3988]
:POSTROUTING ACCEPT [44:3387]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Wed Dec  6 11:15:33 2023
# Generated by iptables-save v1.8.7 on Wed Dec  6 11:15:33 2023
*filter
:INPUT ACCEPT [68:5048]
:FORWARD ACCEPT [5:268]
:OUTPUT ACCEPT [54:4039]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -f -j DROP
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -f -j DROP
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -f -j DROP
COMMIT


Cereal Keeler 06-12-2023 14:00 3021082

А вам точно нужен двойной NAT? Ну всмысле, сегментировать сеть, хотя роутер, как я понял, у вас один.

NickM 06-12-2023 16:11 3021094

Цитата:

Цитата Cereal Keeler
А вам точно нужен двойной NAT? »

Количество IP в сети 192.168.1.х ограничено, поэтому часть клиентов прячем за NAT (это 192.168.10.х), а часть оставляем с адресами сети роутера (это 192.168.1.х).

dmitryst 06-12-2023 16:43 3021095

NickM, а как вы определите, кому какой адрес положен? ;)

Cereal Keeler 06-12-2023 16:49 3021097

Цитата:

Цитата NickM
Количество IP в сети 192.168.1.х ограничено »

Кем ограничено? Что мешает расширить сеть до /23 (192.168.0.0 - 192.168.1.255)? Или даже /22 (192.168.0.0 - 192.168.3.255)?

dmitryst 06-12-2023 19:07 3021101

Cereal Keeler, угу, можно и до /16 расширить, но у ТС непонятное ТЗ, непонятно, по какому принципу произведено деление на сегменты, и зачем такое деление нужно.
eth0 соединить с рутером (неважно, какой адрес присвоить), вторую карту подключить к коммутатору и назначить, например, 192,168,0,1/16, пусть клиенты получают адреса по DHCP. Можно настроить привязку к МАС-адресам для "особо важных клиентов", и настроить им особые параметры доступа в интернет, если надо. Третья карта, как мне кажется, вообще лишняя.

NickM 06-12-2023 19:14 3021102

Цитата:

Цитата dmitryst
NickM, а как вы определите, кому какой адрес положен? »

Здесь не понял, что именно определить? Или Вы про DHСP? Если про него, то DHCP работает на той или иной сетевой и он "понимает" на какой сетевой какой раздавать диапазон (с DHCP проблем нет, он настроен и работает, проблема с маршрутами, думаю тут нужно SNAT/ DNAT смотреть и FORWARD);

Цитата:

Цитата Cereal Keeler
Кем ограничено? »

Провайдером ))
Просто для простоты понимания, написал сочетание слов "на роутере DHCP отсутствует" и указал простую локальную адресацию "192.168.1.х ";

Цитата:

Цитата dmitryst
но у ТС непонятное ТЗ, непонятно, по какому принципу произведено деление на сегменты, и зачем такое деление нужно. »

А, что не понятно? Могу уточнить.

Провайдер выдал ограниченное количество IP и требует выход каждого АРМ под IP из выданного диапазона. При этом на устройстве провайдера (роутере) отсутствует DHCP.

Самое простое - это всех спрятать за NAT на сервере, и это уже сделано и сейчас работает (это клиенты сети 192.168.10.х), но нужно, что бы часть АРМ получала IP из диапазона провайдера и выходила под этими адресами в сеть Интернет.

dmitryst 06-12-2023 19:18 3021103

Цитата:

Цитата NickM
требует выход каждого АРМ под IP из выданного диапазона »

именно требует? Если все клиенты будут использовать один адрес - это нарушение? Если нет, то
Цитата:

Цитата NickM
всех спрятать за NAT на сервере »


NickM 06-12-2023 19:33 3021104

Цитата:

Цитата dmitryst
именно требует? Если все клиенты будут использовать один адрес - это нарушение? »

Смертью конечно не карается, но нужно сделать именно так, как написано выше :read:

Цитата:

Цитата dmitryst
Если нет, то »

Цитата:

Цитата NickM
и это уже сделано и сейчас работает (это клиенты сети 192.168.10.х) »


dmitryst 07-12-2023 10:45 3021127

Цитата:

Цитата NickM
Смертью конечно не карается »

почитал вчера документацию по pf, вроде что-то видел, но не то. Может, сделать так:
  • основная сеть 192,168,1,0/24 - рутер и eth0
  • сеть с NAT 1 - 10.10.10.0/24 - eth1
  • сеть с NAT 2 - 10.10.20.0/24 - eth2
При этом все клиенты будут получать адрес из нужного диапазона, точнее, два адреса типа 192.168.1.4 и 192.168.1.5. Так прокатит?

bredych 08-12-2023 15:30 3021206

Цитата:

Цитата dmitryst
все клиенты будут получать адрес из нужного диапазона, точнее, два адреса типа 192.168.1.4 и 192.168.1.5. »

как это, каждый клиент по 2 ипа? А по какому он будет отвечать?

dmitryst 08-12-2023 17:59 3021221

bredych, нет, из первой подсети все клиенты будут получать адрес для ната 192.168.1.4, из второй- соотв, 192.168.1.5. Т. е один адрес для натирования всех в первой подсети, второй - для второй. Бред, конечно, но уж что есть :jester:

bredych 11-12-2023 01:28 3021367

наверно я жутко туплю, но..
интерфейс физически у каждого клиента ведь один - сетевушка встроенная. И кабель тот же самый, в неё вставленный.
А как на одном физическом повесить 2 виртуальных с разными ипами, и чтоб еще комп знал, кому что отвечать.. Ну, допустим, на каждом еще править роутинговую таблицу.. хоть тогда зачем вообще dhcp..
что-то туплю я.. можно как в школе логику пояснить? Для системности понимания

dmitryst 11-12-2023 08:24 3021373

bredych, на "сервере" 3 (три!) сетевых, каждая со своим диапазоном адресов (непересекающихся)
  1. рутер и его подсеть 192,168,1,0/24
  2. сеть клиентов №1 (НАТится вся сеть в один адрес 192,168,1,100 например)
  3. сеть клиентов №2 (НАТится вся сеть в один адрес 192,168,1,200 например)
Как-то так...

bredych 11-12-2023 18:34 3021402

Цитата:

Цитата dmitryst
на "сервере" 3 (три!) сетевых, »

но клиенты из сети 2 и сети 3 - это НЕ одни и те же физические машины? Они висят на разных физически кабелях и т.д.?
или я туплю опять?

dmitryst 11-12-2023 20:56 3021408

Цитата:

Цитата bredych
клиенты из сети 2 и сети 3 - это НЕ одни и те же физические машины? Они висят на разных физически кабелях и т.д.? »

вроде как. Но лучше уточнить у NickM, мало ли.

NickM 12-12-2023 06:18 3021425

Цитата:

Цитата bredych
но клиенты из сети 2 и сети 3 - это НЕ одни и те же физические машины? »

Нет, это разные сети и клиенты:
Цитата:

Цитата NickM
- eth1: IP сетевой - 192.168.10.1, маскарадинг для клиентов с выходом в сеть Интернет и на сетевой работает DHCP ;
- eth2: IP сетевой - 192.168.1.3, здесь предполагается раздача адресов для клиентов с помощью DHCP сервера из 192.168.1.х сети; »

Цитата:

Цитата dmitryst
лучше уточнить у NickM »

Цитата:

Цитата NickM
Количество IP в сети 192.168.1.х ограничено, поэтому часть клиентов прячем за NAT (это 192.168.10.х), а часть оставляем с адресами сети роутера (это 192.168.1.х). »

Это разные сети= разные физические машины;

Цитата:

Цитата dmitryst
сеть с NAT 1 - 10.10.10.0/24 - eth1
сеть с NAT 2 - 10.10.20.0/24 - eth2 »

NAT не нужен, т.к.:
Цитата:

Цитата NickM
выход каждого АРМ под IP из выданного диапазона. »

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

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

shisik 12-12-2023 07:02 3021427

NickM, я не понял чего вы вообще добиваетесь. Из вашего описания

Цитата:

Цитата NickM
- eth1: IP сетевой - 192.168.10.1, маскарадинг для клиентов с выходом в сеть Интернет и на сетевой работает DHCP ;
- eth2: IP сетевой - 192.168.1.3, здесь предполагается раздача адресов для клиентов с помощью DHCP сервера из 192.168.1.х сети; »

следует, что задача уже и так выполнена

Цитата:

Цитата NickM
Сейчас имеется доступ к сети Интернет у клиентов 192.168.10.х, т.к. настроен маскарадинг на сервере.
У клиентов 192.168.1.х никакого доступа сейчас нет , но IP от DHCP получают исправно. »

Потому что про доступ в Интернет вы упоминаете только в 192.168.10.х, а в 192.168.1.х его выходит и не должно быть. Иначе почему это требование упоминается только в 1 подсети? Сформулируйте задачу полностью и может быть выяснится, что вам вообще не нужны 2 подсети. Ну или обоснуйте необходимость этого. Я пока не понимаею чего вам нужно, может это вообще типичная XY

NickM 12-12-2023 07:29 3021428

Цитата:

Цитата shisik
Потому что про доступ в Интернет вы упоминаете только в 192.168.10.х, а в 192.168.1.х его выходит и не должно быть »

Цитата:

Цитата NickM
и что бы клиенты 192.168.1.х выходили в сеть под Своим IP. »

Цитата:

Цитата shisik
Я пока не понимаею чего вам нужно »

Цитата:

Цитата NickM
Задача состоит в том, что бы переложить раздачу IP на eth2 самим сервером, а не роутером, т.к. на роутере DHCP отсутствует, и что бы клиенты 192.168.1.х выходили в сеть под Своим IP. »

Что именно не понятно?

Раздать IP и предоставить выход в сеть Интернет, NAT не использовать.

NickM 12-12-2023 08:10 3021429

Раз третья сетевая и NAT вносят сумятицу, давайте избавимся от них:
Дано:
- 2 сетевых;
- DHCP, SAMBA-DC с внутренним DNS на сервере;
- eth0: IP сетевой - 192.168.1.2, к сетевой подключён роутер с IP 192.168.1.1 и обеспечивает выход в сеть Интернет;
- eth2: IP сетевой - 192.168.1.3, здесь предполагается раздача адресов для клиентов с помощью DHCP сервера из 192.168.1.х сети;

Задача состоит в том, что бы переложить раздачу IP на eth2 самим сервером, а не роутером, т.к. на роутере DHCP отсутствует, и чтобы клиенты 192.168.1.х выходили в сеть Интернет под своим IP.

Перепробовав кучу настроек, Я уже запутался, вопросы:
- какой IP будет шлюзом для клиентов 192.168.1.х сети;
- просматривая с помощью tcpdump те или иные интерфейсы на сервере, Я, например, вижу, что диагностические пакеты приходят, но ответов клиент не получает.

Легкая с виду задача сломала мозг. Понятно, что знаний в теме абсолютно не хватает, точнее их ноль.

В данный момент правила такие:
Скрытый текст
Код:

iptables-save
# Generated by iptables-save v1.8.7 on Wed Dec  6 11:15:33 2023
*mangle
:PREROUTING ACCEPT [675:43736]
:INPUT ACCEPT [609:39365]
:FORWARD ACCEPT [46:2124]
:OUTPUT ACCEPT [744:93924]
:POSTROUTING ACCEPT [788:95912]
COMMIT
# Completed on Wed Dec  6 11:15:33 2023
# Generated by iptables-save v1.8.7 on Wed Dec  6 11:15:33 2023
*nat
:PREROUTING ACCEPT [35:3163]
:INPUT ACCEPT [12:752]
:OUTPUT ACCEPT [53:3988]
:POSTROUTING ACCEPT [44:3387]
COMMIT
# Completed on Wed Dec  6 11:15:33 2023
# Generated by iptables-save v1.8.7 on Wed Dec  6 11:15:33 2023
*filter
:INPUT ACCEPT [68:5048]
:FORWARD ACCEPT [5:268]
:OUTPUT ACCEPT [54:4039]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -f -j DROP
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -f -j DROP
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -f -j DROP
COMMIT


shisik 12-12-2023 16:38 3021453

Цитата:

Цитата NickM
и чтобы клиенты 192.168.1.х выходили в сеть Интернет под своим IP »

В смысле под своим IP? Чтоб их адреса в глобальной сети были 192.168.1.х? Это невозможно. Вообще.

Цитата:

Цитата NickM
NAT не использовать »

И как вы это себе представляете? У вас есть сервер, у него есть внешний адрес и внутренняя подсеть. Чтоб раздать доступ внутренним клиентам - нужен NAT. А как иначе?

NickM 12-12-2023 17:33 3021458

Цитата:

Цитата shisik
В смысле под своим IP? »

В том смысле, что они получили IP из 192.168.1.х сети и с этими адресами дошли до роутера, а не спрятались за внешний IP сервера (т.е. IP сервером не меняется и клиентов сервер за себя не прячет, как того делает правило POSTROUTING -o eth0 -j MASQUERADE);

Цитата:

Цитата shisik
И как вы это себе представляете? У вас есть сервер, у него есть внешний адрес и внутренняя подсеть. »

Не нужна внутренняя подсеть, ничего за сервер прятать не надо, клиенты должны ходить к шлюзу-роутеру с IP 192.168.1.1 под своими адресами из сети 192.168.1.х.

Представляю ровно так как и написал в начальном посте: сервер раздаёт адреса и перенаправляет через Себя трафик клиентов 192.168.1.х подсети до роутера 192.168.1.1, при этом никаких подмен адресов не производит.

Да, и разве NAT будет работать в пределах одной подсети?

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

shisik 13-12-2023 03:46 3021477

NickM, может вам мост нужен? Между двумя (или тремя) сетевухами.

Цитата:

Цитата NickM
Да, и разве NAT будет работать в пределах одной подсети? »

В пределах одной - нет, это бессмыслица. Но у вас фигурируют адреса 192.168.1.x и 192.168.10.x - отсюда и мысли про NAT

NickM 13-12-2023 11:39 3021491

Цитата:

Цитата shisik
NickM, может вам мост нужен? »

Тоже думал об этом, и даже пробовал. Но, в таком случае не получается раздавать адреса по DHCP сервером, ведь обе сетевые (eth0 и eth2) объединены в мост br0, а адреса требуется выдавать на eth2;

Цитата:

Цитата shisik
Но у вас фигурируют адреса 192.168.1.x и 192.168.10.x - отсюда и мысли про NAT »

В первом вопросе об этом и было сказано - NAT был только для одной сетевой, после задачу упростил.

shisik 13-12-2023 16:33 3021498

Цитата:

Цитата NickM
Но, в таком случае не получается раздавать адреса по DHCP сервером, ведь обе сетевые (eth0 и eth2) объединены в мост br0, а адреса требуется выдавать на eth2; »

А это проблема? К eth0 подключен только роутер же? У него, как я понимаю, статический адрес. Он просто не будет использовать DHCP, главно чтоб адрес был из нужной подсети. Например, у меня на компе тоже статический адрес, но в роутере DHCP поднят. Мой адрес 192.168.88.10, а DHCP раздаёт начиная с 192.168.88.100 и конфликтов нет. Так и вы можете DHCP настроить начиная например с 192.168.1.10, а у роутера пусть будет 192.168.1.1

dmitryst 13-12-2023 17:42 3021499

так, стоп....
NickM, сколько у вас всего компов? 1-250, 251-510, больше?

NickM 13-12-2023 18:12 3021500

Цитата:

Цитата shisik
А это проблема? »

Т.е. раздавать адреса в мост, а не в сетевую?

Цитата:

Цитата dmitryst
сколько у вас всего компов? »

~100

dmitryst 13-12-2023 18:18 3021501

Если 100, то да, можно настроить DHCP для выдачи адресов из двух пулов, для каждого интерфейса свой пул.

shisik 14-12-2023 02:40 3021509

Цитата:

Цитата NickM
Т.е. раздавать адреса в мост, а не в сетевую? »

Честно говоря, я никогда не пробовал раздавать в сетевуху, когда есть мост. Получится так или нет - не знаю. Хоть попробовать стоит. Но если даже не получится, то неужели это проблема раздавать адреса на весь мост?

NickM 14-12-2023 06:20 3021511

Цитата:

Цитата shisik
раздавать в сетевуху »

Цитата:

Цитата shisik
Получится так или нет - не знаю. »

Раздавать в сетевую моста не получится, т.к. DHCP должен считать настройки сетевой, а у сетевых в мосту настройки отсутствуют;

Цитата:

Цитата shisik
неужели это проблема раздавать адреса на весь мост? »

Тут не знаю, в мост не раздавал, но да, попробовать можно/ нужно.


Время: 10:48.

Время: 10:48.
© OSzone.net 2001-