= Сообщение: 10033 из 10753 ==================================== RU.UNIX.BSD = От : Eugene Grosbein 2:5006/1 07 Oct 20 12:22:17 Кому : Vassily Kiryanov 07 Oct 20 12:22:17 Тема : Re: различить на который alias пришел транзитный пакет FGHI : area://RU.UNIX.BSD?msgid=grosbein.net+5a98098a На : area://RU.UNIX.BSD?msgid=2:5054/36+5f7c87ae = Кодировка сообщения определена как: IBM866 ================================= ============================================================================== 06 окт. 2020, вторник, в 14:57 NOVT, Vassily Kiryanov написал(а):
VK> Дорогие коллеги, нужно мне на LAN-сетевухе иметь несколько разных IP-адресов, VK> которые будут default router для разных клиентов разные. И нужно различать, на VK> который из этих внутренних адресов был настроен маршрут-по-умолчанию у клиента, VK> чтобы решить, что нужно сделать с пакетом дальше. VK> Hапример, на внутренней сетевухе у меня будут три IP из одной сети: VK> 192.168.1.1 и 192.168.1.10 и 192.168.1.100 и разным группам клиентов по DHCP VK> будет выдаваться один из адресов в качестве маршрутизатора по умолчанию. Hужно VK> пихать пакеты, ну пусть хоть в очереди с разным приоритетом. VK> Такое совершабельно во фряхе стандартными средствами (какими, если да)? VK> А нестандартными (какими, если да)? VK> Спасибо!
Первым делом нужно осознаь, что в сетях Ethernet нет IP-адресов вообще. Трафик в сетях Ethernet передаётся не по IP-адресам, а по MAC-адресам, с MAC-адреса отправителя на MAC-адрес получателя.
И что в IP-пакете внутри Ethernet-фрейма нет "адреса шлюза", а есть только IP-адрес источника и IP-адрес назначения.
Поэтому если ты не разводишь такие группы по отдельным vlan-ам, то различать их ты можешь только по адресу источника, информации о шлюзе в трафике нету.
После сегментации сети на vlan-ы следующий самый лучший способ это разграничивать по границам подсетей типа /26, по 64 (по 32 и т.п.) адреса в "подсети", чтобы потом форвардить или транслировать пакеты простыми правилами типа:
nat 100 ip from 192.168.064/26 to any out
Такой матчинг это одна побитовая операция маскирования и затем одно сравнение 32-битных чисел, быстрее особо некуда.
Различать разрозненные группы IP-адресов одной подсети тоже можно при помощи ipfw table, но это более заморочено и менее эффективно.
Eugen -- Поэты - страшные люди. У них все святое. --- slrn/1.0.3 (FreeBSD) * Origin: RDTC JSC (2:5006/1@fidonet)