Тема: PF Редирект из абонентской сети на внутреннюю страницу.
Вообще задача стоит следующего плана, мне нужно написать информационную страницу для абонентов в сети, скрипт берет из биллнга ипы и заносит их в файл, я этот файл просто цепляю в pf.conf и он отрабатывает редирект всего трафика, с 80 порта абонентов, на нас с 81. И тем самым пользователь читает новость затем нажимает кнопку ознакомлен, тут уже выполняется скрипт на удаление из файла с правила. И его перенаправляет на тот сайт куда он шел.
сами страницы готовы и могут работать, а вот правила не срабатывают.
и пользователь как шел на ya.ru так туда и заходит.
Проблема именно в правилах кто что может посоветовать? То ли я что-то не понимаю.
Сразу говорю конфиги не я настраивал, поэтому кидаться тухлыми яйцами не надо.
Техническая часть:
NAS FreeBSD 9.0 он же сервер биллинга mikbill
Используется связка MPD+PF+Radius.
Скрипт работает на php.
2 интерфейса:
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=2198<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
ether 68:05:ca:02:c9:46
inet6 fe80::6a05:caff:fe02:c946%em0 prefixlen 64 scopeid 0x1
inet 5.153.128.66 netmask 0xfffffff8 broadcast 5.153.128.71
inet 5.153.128.67 netmask 0xfffffff8 broadcast 5.153.128.71
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=c0198<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
ether 00:22:64:cc:39:fb
inet6 fe80::222:64ff:fecc:39fb%bge0 prefixlen 64 scopeid 0x6
inet 10.0.50.254 netmask 0xfffffc00 broadcast 10.0.51.255
inet 10.0.17.254 netmask 0xfffffe00 broadcast 10.0.17.255
inet 10.0.70.254 netmask 0xffffff00 broadcast 10.0.70.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
Соединение абонов происходит по ng* интерфейсам.
mpd5.conf
startup:
2 # configure mpd users
3 set user admin admin admin
4 # configure the console
5 set radsrv peer 127.0.0.1 testing123
6 set radsrv self 127.0.0.1 3799
7 set radsrv open
8 set console self 127.0.0.1 5005
9 set console open
10 # configure the web server
11 set web self 0.0.0.0 5006
12 set web open
13
14 default:
15 load pppoe_server
16 # load pptp_server
17
18 pptp_server:
19 create bundle template C
20 set iface idle 0
21 set iface enable tcpmssfix
22 set ipcp yes vjcomp
23 set ipcp ranges 172.28.0.1/32 ippool pool1
24 # set ipcp dns 10.1.2.3 194.44.58.85
25 set ipcp dns 212.66.32.194 212.66.32.202
26 # set ipcp dns 8.8.8.8 8.8.4.4
27 set bundle enable compression
28 set iface enable nat
29 create link template L pptp
30 set link action bundle C
31 set link enable multilink
32 set link yes acfcomp protocomp
33 set link no eap
34 set link no chap-msv1
35 set link no chap-msv2
36 set link no chap-md5
37 set link enable chap pap
38 set link enable
39 set link keep-alive 30 120
40 set link mtu 1480
41 set link mru 1480
42 set link enable peer-as-calling
43 set pptp self 10.2.0.1
44 load server_common
45
46 pppoe_server:
47
48 create bundle template B
49 set iface idle 0
50 set iface enable tcpmssfix
51 set ipcp no vjcomp
52 set ipcp ranges 172.28.0.1/32 ippool pool1
53 # set ipcp dns 10.1.2.3 194.44.58.85
54 # set ipcp dns 212.66.32.202 212.66.32.194
55 set ipcp dns 8.8.8.8 8.8.4.4
56 set bundle enable compression
57 create link template common pppoe
58 set link mtu 1460
59 set link mru 1460
60 set link enable multilink
61 set link action bundle B
62 set link no eap
63 set link no chap-msv1
64 set link no chap-msv2
65 set link no chap-md5
66 set link enable chap pap
67 set link enable
68 ....
69 set link yes acfcomp protocomp
70 set link enable report-mac
71 set link enable multilink
72 load server_common
73 set pppoe service "*"
74
75 create link template bge0 common
76 set pppoe iface bge0
77 set link enable incoming
78
79
80 server_common:
81 set link no eap
82 set link yes chap-md5
83 set link keep-alive 30 120
84 set link enable incoming
85 set link no acfcomp protocomp
86 load radius
87
88 radius:
89 set radius config /usr/local/etc/mpd5/radius.conf
90 set radius retries 3
91 set radius timeout 3
92 set radius me 127.0.0.1
93 set radius identifier NAS
94 set auth acct-update 300
95 set auth enable radius-auth
96 set auth enable radius-acct
97 set radius enable message-authentic
pf.conf
1#MACRO
2 ext_if="em0"
3 me="5.153.128.67"
4
5 set limit states 120000
6
7 rdr on em0 proto tcp from 172.28.50.17 to any port 80 -> 5.153.128.67 port 81 //Мое правило для теста которое неработает.
8 nat on em0 from 172.28.0.0/16 to any -> 5.153.128.67
9 #nat on vlan41 from 172.16.5.0/24 to any -> 5.153.128.67
Заранее благодарен. Если решим проблему, могу потом скриптом поделится.