Page 2 of 3

Re: ipoe - запросы через dhcp-relay

Posted: 14 Aug 2017, 07:43
by Dmitry
что не так ?

Re: ipoe - запросы через dhcp-relay

Posted: 14 Aug 2017, 09:49
by yazero
одновременно приходят два запроса.
dhcp
Спойлер
---------------------------------------------------------------------------

TIME: 2017-08-14 12:59:34.418
IP: 0.0.0.0 (18:d6:c7:f1:e:ac) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: 21504f7f
SECS: 0
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 18:d6:c7:f1:0e:ac:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER)
OPTION: 55 ( 9) Parameter Request List 1 (Subnet mask)
3 (Routers)
6 (DNS server)
12 (Host name)
15 (Domainname)
28 (Broadcast address)
33 (Static route)
121 (Classless Static Route)
249 (MSFT - Classless route)

---------------------------------------------------------------------------

TIME: 2017-08-14 12:59:34.418
IP: 10.10.242.209 (6c:3b:6b:d1:a3:59) > 10.10.242.1 (c0:3f:d5:e3:5f:f6)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 1
XID: 21504f7f
SECS: 0
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 192.168.242.209
CHADDR: 18:d6:c7:f1:0e:ac:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 1 (DHCPDISCOVER)
OPTION: 55 ( 9) Parameter Request List 1 (Subnet mask)
3 (Routers)
6 (DNS server)
12 (Host name)
15 (Domainname)
28 (Broadcast address)
33 (Static route)
121 (Classless Static Route)
249 (MSFT - Classless route)

---------------------------------------------------------------------------
в логах accel

Спойлер
accel-ppp.log
.[1;32m[2017-08-14 12:59:34]: info: eth0.340: .[0;39mrecv [DHCPv4 Discover xid=7f4f5021 chaddr=18:d6:c7:f1:0e:ac <Message-Type Discover> <Request-List Subnet,Router,DNS,Host-Name,Domain-Name,Broadcast,Route,Cla
.[1;32m[2017-08-14 12:59:34]: info: ipoe0: .[0;39mcreate interface ipoe0 parent eth0.340
.[1;34m[2017-08-14 12:59:34]: debug: ipoe0: .[0;39mradius(1): req_enter 1
.[1;32m[2017-08-14 12:59:34]: info: ipoe0: .[0;39msend [RADIUS(1) Access-Request id=1 <User-Name "0.0.0.0"> <NAS-IP-Address 192.168.0.18> <NAS-Port 44117> <NAS-Port-Id "ipoe0"> <NAS-Port-Type Ethernet> <Calling
.[1;32m[2017-08-14 12:59:34]: info: ipoe0: .[0;39mrecv [DHCPv4 Discover xid=7f4f5021 giaddr=192.168.242.209 chaddr=18:d6:c7:f1:0e:ac <Message-Type Discover> <Request-List Subnet,Router,DNS,Host-Name,Domain-Name
.[1;34m[2017-08-14 12:59:34]: debug: ipoe0: .[0;39mradius(1): req_exit 0
.[1;32m[2017-08-14 12:59:34]: info: ipoe0: .[0;39mrecv [RADIUS(1) Access-Reject id=1 <Reply-Message "1">]
.[1;34m[2017-08-14 12:59:34]: debug: ipoe0: .[0;39mterminate
.[1;32m[2017-08-14 12:59:34]: info: ipoe0: .[0;39mipoe: session finished


auth-fail.log
.[1;32m[2017-08-14 12:59:34]: info: ipoe0: .[0;39mcreate interface ipoe0 parent eth0.340
.[1;34m[2017-08-14 12:59:34]: debug: ipoe0: .[0;39mradius(1): req_enter 1
.[1;32m[2017-08-14 12:59:34]: info: ipoe0: .[0;39msend [RADIUS(1) Access-Request id=1 <User-Name "0.0.0.0"> <NAS-IP-Address 192.168.0.18> <NAS-Port 44117> <NAS-Port-Id "ipoe0"> <NAS-Port-Type Ethernet> <Calling
.[1;32m[2017-08-14 12:59:34]: info: ipoe0: .[0;39mrecv [DHCPv4 Discover xid=7f4f5021 giaddr=192.168.242.209 chaddr=18:d6:c7:f1:0e:ac <Message-Type Discover> <Request-List Subnet,Router,DNS,Host-Name,Domain-Name
.[1;34m[2017-08-14 12:59:34]: debug: ipoe0: .[0;39mradius(1): req_exit 0
.[1;32m[2017-08-14 12:59:34]: info: ipoe0: .[0;39mrecv [RADIUS(1) Access-Reject id=1 <Reply-Message "1">]
.[1;34m[2017-08-14 12:59:34]: debug: ipoe0: .[0;39mterminate
.[1;32m[2017-08-14 12:59:34]: info: ipoe0: .[0;39mipoe: session finished

тоесть одновременно приходит запрос и от самого абонента (vlan 340 ) и от relay(vlan 340 giaddr 192.168.242.209 )

авторизация не проходит.
так как user-name 0.0.0.0 не совпадает с giaddr 192.168.242.209

Re: ipoe - запросы через dhcp-relay

Posted: 14 Aug 2017, 09:59
by Dmitry
коммутатор косячит ?

Re: ipoe - запросы через dhcp-relay

Posted: 15 Aug 2017, 09:55
by yazero
разобрался... dhcp запросы от клиента идут с 68 на 67 порт, а у relay c 67 на 67. добился того что абонент получает и продляет адрес.
заблокировал запросы с 68 порта ,но разрешил запросы с адресов абонента и 68 порта. но пока это все в одном vlan.

Re: ipoe - запросы через dhcp-relay

Posted: 16 Aug 2017, 06:47
by yazero
еще вопрос.
accel-ppp на dhcp запрос создал

interface ipoe0
inet addr:10.1.1.1 P-t-P:10.1.4.62 Mask:255.255.255.255

запрос пришел через vlan 340
eth0.340 Link encap:Ethernet HWaddr c0:3f:d5:e3:5f:f6

вот маршрут.

10.1.0.0/19 dev eth0.340 proto kernel scope link src 10.1.1.1
10.1.4.62 dev ipoe1 proto kernel scope link src 10.1.1.1

sysctl
net.ipv4.ip_forward = 1
net.ipv4.conf.all.proxy_arp =0


как заставить пинговаться данный хост.
кроме как ping 10.1.4.62 -I eth0.340
у абонента шлюз 10.1.1.1/19

Re: ipoe - запросы через dhcp-relay

Posted: 16 Aug 2017, 08:04
by yazero
схема сети
Спойлер
dhcp.png
dhcp.png (60.73 KiB) Viewed 1816 times
коммутаторы с поддержкой dhcp-relay / dhcp-local-relay (dhcp-snooping) и opt.82

Re: ipoe - запросы через dhcp-relay

Posted: 16 Aug 2017, 12:39
by yazero
разбираемся дальше
1) dhcp запрос , broadcast, dhcp-relay перехватывает и шлет его на сервер, адрес выдается
2) dhcp продление адреса, уже идет unicast на адрес сервера. но так как сервер в служебном vlan то продление не получается.
отсюда вопрос
rfc
Спойлер
4.4.4 Use of broadcast and unicast


The DHCP client broadcasts DHCPDISCOVER, DHCPREQUEST and DHCPINFORM
messages, unless the client knows the address of a DHCP server. The
client unicasts DHCPRELEASE messages to the server. Because the
client is declining the use of the IP address supplied by the server,
the client broadcasts DHCPDECLINE messages.

When the DHCP client knows the address of a DHCP server, in either
INIT or REBOOTING state, the client may use that address in the
DHCPDISCOVER or DHCPREQUEST rather than the IP broadcast address.
The client may also use unicast to send DHCPINFORM messages to a
known DHCP server. If the client receives no response to DHCP
messages sent to the IP address of a known DHCP server, the DHCP
client reverts to using the IP broadcast address.
(с сайта bgbilling)
Получается , что если клиент знает адрес сервера , то он шлет unicast-ом. но если не знает то broadcast , и тогда запросы будут переданы через relay. тоесть вам нужно выставить dhcp.server.identifier=0.0.0.0

попробовал убрать gw-ip-address, получил mcan't determine router address ...

Dmitry как быть ?

Re: ipoe - запросы через dhcp-relay

Posted: 17 Aug 2017, 07:22
by Dmitry
2) dhcp продление адреса, уже идет unicast на адрес сервера. но так как сервер в служебном vlan то продление не получается.
а почему это он в служебном ?
в конфиге L2 или L3 стоит ?

Re: ipoe - запросы через dhcp-relay

Posted: 17 Aug 2017, 07:24
by Dmitry
как заставить пинговаться данный хост.
кроме как ping 10.1.4.62 -I eth0.340
у абонента шлюз 10.1.1.1/19
Вернуться к началу
пинг должен идти через ipoe интерфейс, не нужно вот это -I eth0.340

Re: ipoe - запросы через dhcp-relay

Posted: 17 Aug 2017, 10:21
by yazero
1) так как пакет обрабатывается через dhcp-relay , dhcp descover идет через служебный vlan, указал L2
2) ping 10.1.4.62 узел не доступен. proto=100 может дело в этом . по какойто причине эта строка конфига не применятся.