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

IPoE related questions
Dmitry
Администратор
Posts: 954
Joined: 09 Oct 2014, 10:06

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

Post by Dmitry »

что не так ?
yazero
Posts: 28
Joined: 22 Apr 2017, 19:02

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

Post 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
Last edited by yazero on 14 Aug 2017, 10:03, edited 4 times in total.
Dmitry
Администратор
Posts: 954
Joined: 09 Oct 2014, 10:06

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

Post by Dmitry »

коммутатор косячит ?
yazero
Posts: 28
Joined: 22 Apr 2017, 19:02

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

Post by yazero »

разобрался... dhcp запросы от клиента идут с 68 на 67 порт, а у relay c 67 на 67. добился того что абонент получает и продляет адрес.
заблокировал запросы с 68 порта ,но разрешил запросы с адресов абонента и 68 порта. но пока это все в одном vlan.
yazero
Posts: 28
Joined: 22 Apr 2017, 19:02

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

Post 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
yazero
Posts: 28
Joined: 22 Apr 2017, 19:02

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

Post by yazero »

схема сети
Спойлер
dhcp.png
dhcp.png (60.73 KiB) Viewed 1775 times
коммутаторы с поддержкой dhcp-relay / dhcp-local-relay (dhcp-snooping) и opt.82
yazero
Posts: 28
Joined: 22 Apr 2017, 19:02

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

Post 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 как быть ?
Dmitry
Администратор
Posts: 954
Joined: 09 Oct 2014, 10:06

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

Post by Dmitry »

2) dhcp продление адреса, уже идет unicast на адрес сервера. но так как сервер в служебном vlan то продление не получается.
а почему это он в служебном ?
в конфиге L2 или L3 стоит ?
Dmitry
Администратор
Posts: 954
Joined: 09 Oct 2014, 10:06

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

Post by Dmitry »

как заставить пинговаться данный хост.
кроме как ping 10.1.4.62 -I eth0.340
у абонента шлюз 10.1.1.1/19
Вернуться к началу
пинг должен идти через ipoe интерфейс, не нужно вот это -I eth0.340
yazero
Posts: 28
Joined: 22 Apr 2017, 19:02

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

Post by yazero »

1) так как пакет обрабатывается через dhcp-relay , dhcp descover идет через служебный vlan, указал L2
2) ping 10.1.4.62 узел не доступен. proto=100 может дело в этом . по какойто причине эта строка конфига не применятся.
Post Reply