Возникла задача: организовать авторизацию абонентов по порту в удаленном от биллинга населенном пункте. Шлюзы в обоих городах и сам биллинг на FreeBSD 8.2-STABLE
Сейчас сервера еще не разнесены, поэтому шлюзы соединены напрямую пока. Для начала я создал шифрованный туннель между шлюзами с соотв. маршрутами - сетки стали видеть друг друга. Затем на шлюзе №2 я установил ISC, и пропатчил бинарник (dhcp2radius). Настроил свич и биллинг, запускаю...
В логах DHCP:
Код: Выделить всё
hermes# dhcpd em1.104 gif0 lo0
Internet Systems Consortium DHCP Server V3.0.7
Copyright 2004-2008 Internet Systems Consortium.
Patched by Chebotarev Roman. Home page: http://www.netpatch.ru/dhcp2radius.html
Patch version info: RADIUS to DHCP patch (dhcp2radius) v 0.1.1 2009.06.24
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
PATCH: dhcp2radius ability is enabled.
Wrote 0 leases to leases file.
Listening on BPF/lo0/00:00:00:00:00:00
Sending on BPF/lo0/00:00:00:00:00:00
Listening on BPF/gif0/00:00:00:00:00:00
Sending on BPF/gif0/00:00:00:00:00:00
Listening on BPF/em1.104/00:04:23:ca:d3:b7
Sending on BPF/em1.104/00:04:23:ca:d3:b7
Sending on Socket/fallback/fallback-net
hermes# tail -f /var/log/dhcp.log
Mar 13 15:10:28 hermes dhcpd: For info, please visit http://www.isc.org/sw/dhcp/
Mar 13 15:10:28 hermes dhcpd: PATCH: dhcp2radius ability is enabled.
Mar 13 15:10:28 hermes dhcpd: Wrote 0 leases to leases file.
Mar 13 15:10:28 hermes dhcpd: Listening on BPF/lo0/00:00:00:00:00:00
Mar 13 15:10:28 hermes dhcpd: Sending on BPF/lo0/00:00:00:00:00:00
Mar 13 15:10:28 hermes dhcpd: Listening on BPF/gif0/00:00:00:00:00:00
Mar 13 15:10:28 hermes dhcpd: Sending on BPF/gif0/00:00:00:00:00:00
Mar 13 15:10:28 hermes dhcpd: Listening on BPF/em1.104/00:04:23:ca:d3:b7
Mar 13 15:10:28 hermes dhcpd: Sending on BPF/em1.104/00:04:23:ca:d3:b7
Mar 13 15:10:28 hermes dhcpd: Sending on Socket/fallback/fallback-net
Mar 13 15:10:43 hermes dhcpd: Convert DHCPDISCOVER bc:ae:c5:03:ef:9c/172.22.114.3 to RADIUS and forwarded to 172.16.112.1
Код: Выделить всё
athena# tail -f /usr/local/billing/lbarcd.log | grep DHCP
13.03.2012 15:10:27 VERBOSE 0x800806c40 [ParseBody] VSA 'DHCP-Message-Type', vendor DHCP, value: "1"
13.03.2012 15:10:27 VERBOSE 0x800806c40 [ParseBody] VSA 'DHCP-Relay-Agent-Information', vendor DHCP, value: "01060004000100010208000614d64dbf84d0"
13.03.2012 15:10:27 VERBOSE 0x800806c40 [ParseAttr] Got Circuit-Id (port number) = 1 from DHCP Option 82
13.03.2012 15:10:27 VERBOSE 0x800806c40 [ParseAttr] Got Agent-Remote-Id = "000614d64dbf84d0" from DHCP Option 82
13.03.2012 15:10:27 VERBOSE 0x800806c40 [AuthenticateDHCP] DHCP request for vg_id = 1 (found by Option-82)
13.03.2012 15:10:27 INFO 0x800806c40 [AuthenticateDHCP] Using IP address 172.22.0.2 for vg_id = 1
13.03.2012 15:10:27 INFO 0x800806c40 [AuthenticateDHCP] User: 'sense', bill by traffic, unlimited session timeout (86400)
13.03.2012 15:10:27 VERBOSE 0x800806c40 [RunAuthRequest] VSA 'DHCP-Client-Hardware-Address', vendor DHCP, value: "bcaec503ef9c"
13.03.2012 15:10:27 VERBOSE 0x800806c40 [RunAuthRequest] VSA 'DHCP-IP-Address-Lease-Time', vendor DHCP, value: "86400"
13.03.2012 15:10:27 VERBOSE 0x800806c40 [RunAuthRequest] VSA 'DHCP-Your-IP-Address', vendor DHCP, value: "172.22.0.2"
13.03.2012 15:10:27 VERBOSE 0x800806c40 [RunAuthRequest] VSA 'DHCP-Subnet-Mask', vendor DHCP, value: "255.255.255.0"
13.03.2012 15:10:27 VERBOSE 0x800806c40 [RunAuthRequest] VSA 'DHCP-Interface-Index', vendor DHCP, value: "172.22.114.3"
13.03.2012 15:10:27 VERBOSE 0x800806c40 [RunAuthRequest] VSA 'DHCP-Gateway-IP-Address', vendor DHCP, value: "172.22.114.3"
13.03.2012 15:10:27 VERBOSE 0x800806c40 [RunAuthRequest] VSA 'DHCP-DHCP-Server-Identifier', vendor DHCP, value: "172.22.0.1"
13.03.2012 15:10:27 VERBOSE 0x800806c40 [AddAttrs] VSA 'DHCP-Gateway-IP-Address', vendor DHCP, value: "172.22.0.1"
13.03.2012 15:10:27 VERBOSE 0x800806c40 [AddAttrs] VSA 'DHCP-Domain-Name-Server', vendor DHCP, value: "ac160001"
Код: Выделить всё
hermes# tcpdump -i gif0 -vv -s0 host 172.16.113.1
tcpdump: listening on gif0, link-type NULL (BSD loopback), capture size 65535 bytes
15:13:48.671417 IP (tos 0x0, ttl 30, id 27992, offset 0, flags [none], proto IPIP (4), length 187)
172.16.113.1 > 172.16.113.222: IP (tos 0x0, ttl 63, id 55919, offset 0, flags [none], proto UDP (17), length 167)
172.16.112.1.2812 > 172.22.0.1.bootps: [udp sum ok] BOOTP/DHCP, Reply, length 139, htype 250, hlen 0, hops 139, xid 0x6fa9b69d, secs 30376, Flags [Broadcast] (0x9fc5)
Client-IP 102.90.149.23
Your-IP 19.250.146.66
Server-IP 26.15.0.0
Gateway-IP 0.54.1.11
file "^GM-,^V" [|bootp]
Код: Выделить всё
Convert RADIUS-reply for ...
Есть мнение, что это может быть из-за инкапсуляции пакетов. Но точно не знаю. Как мне это победить?
Конфиги какие и схему соединений могу выложить при необходимости... спасибо!