Вопрос собственно в том как пометить с помощью pf пакеты, а затем на ДРУГОМ роутере с помощью pf их идентифицировать и применить к ним правила фильтрации.
Заранее благодарен за помощь...
>Вопрос собственно в том как пометить с помощью pf пакеты, а затем
>на ДРУГОМ роутере с помощью pf их идентифицировать и применить к
>ним правила фильтрации.
>Заранее благодарен за помощь...
На другом никак. pf может пометить только для себя самого. Ну разве что завернуть поток в какой-нибудь экзотичсеский порт.
А зачем это нужно вообще?
>А зачем это нужно вообще?Сейчас постараюсь обьяснить суть моей проблемы, может быть существует более изящное ее решение...
В упрощенном виде это все выглядит так:
Есть роутер
zeus# ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet совсем.белый.ип netmask 0xffffffe0 broadcast х.х.х.х
inet 192.168.4.111 netmask 0xffffff00 broadcast 192.168.4.255
ether 00:30:4f:3b:7a:2e
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
xl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=9<RXCSUM,VLAN_MTU>
inet 10.240.80.1 netmask 0xffffff00 broadcast 10.240.80.255
inet 192.168.80.1 netmask 0xffffff00 broadcast 192.168.80.255
ether 00:50:da:35:f3:3e
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
ether 00:c1:26:05:4c:25
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33208
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
pfsync0: flags=0<> mtu 2020
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
inet 91.124.209.28 --> 195.5.5.19 netmask 0xffffffff
Opened by PID 737zeus# netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 195.5.5.19 UGS 0 3820209 tun0
rl0 смотрит на провайдера инета
rl1-tun0 pppoe укртелеком (тоже иногда инет беру)
xl0 смотрит в локальную сетьздесь же поднят NAS exppp
с помощью PF разруливаю маршруты для users0 пользователей (или rl0 или rl1-tun0)
что то типа
pass in log on tun route-to ($if0 $gw_1) from <user_to_f> to !(self:network) flags S/SA keep stateи все были бы счасливы если бы в сети не появился еще один NAS
astra# ifconfig
rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=48<VLAN_MTU,POLLING>
inet 10.240.80.200 netmask 0xffffff00 broadcast 10.240.80.255
inet 192.168.80.200 netmask 0xffffff00 broadcast 192.168.80.255
ether 00:e0:4c:7b:00:a2
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=48<VLAN_MTU,POLLING>
inet 10.240.81.200 netmask 0xc0000000 broadcast 63.255.255.255
inet 192.168.81.200 netmask 0xffffff00 broadcast 192.168.81.255
ether 00:e0:4c:7a:00:d2
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=48<VLAN_MTU,POLLING>
inet 10.240.82.200 netmask 0xffffff00 broadcast 10.240.82.255
inet 192.168.82.200 netmask 0xffffff00 broadcast 192.168.82.255
ether 00:e0:4c:7a:00:d6
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl3: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
ether 00:e0:4c:63:00:fe
media: Ethernet autoselect (10baseT/UTP)
status: no carrier
pflog0: flags=0<> mtu 33208
pfsync0: flags=0<> mtu 2020
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000astra# netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.240.80.1 UGS 0 461880 rl0prov ukrtelekom
| |
| |
rl0 rl1
---------
zeus |
---------
xl0
|---------pppoe users0 (NAS zeus)
|
rl0
---------
astra |
---------
rl1 rl2
| |
pppoe pppoe
users1 users2 (NAS astra)После авторизации users1 users2 получают произвольные туны и динамические ИП из пула
Задача:
маршрутизировать некоторых пользователей из users1 и users2 через zeus:rl0,
а оставшихся через zeus:rl1Моя идея заключалась в том чтобы на astra пометить пакеты предназначенные для "prov",
а на zeus их идентифицировать и маршрутизировать.Примечание:
Направление маршрутизации передается из билинга (abills) через фильтры радиуса, а затем отрабатываются expppls /etc/ppp/ppp.linkup
-------
MYADDR:
!bg /usr/abills/libexec/linkupdown up INTERFACE USER HISADDR
ROUTE:
!bg /etc/ppp/setroute up INTERFACE HISADDR
--------
т.е. непосредственно на шлюзе zeus установить роутинг для users1 users2 невозможно т.к
users1 users2 принадлежат astra:NASЗаранее благодарен за помощь всем кто откликнется...