Hi Riccardo,
dhrelay only operates on a single interface, so you're not missing anything
there.
Can you show me the ps output for the dhcrelay processes you start? The rcctl
commands you show below don't include the rcctl start dhcrelay and
dhcrelay_second bits.
I have the following in rc.local (mostly because this config predates rcctl):
foo=192.0.2.194
bar=192.0.2.196
echo -n 'start dhcp relays:'
for i in vlan371 vlan373 \
vlan835 \
vlan801 vlan847 vlan866 vlan867 \
vlan811 vlan815 vlan816 \
vlan1101 vlan1147 vlan1165 vlan1166 \
vlan1201 vlan1231 vlan1247 vlan1265 vlan1266 \
vlan1301 vlan1331 vlan1347 vlan1365 vlan1366 \
vlan971 vlan966 \
vlan1401 vlan1465 vlan1466 vlan1467 \
vlan1501 vlan1565 vlan1566 \
vlan1601 vlan1647 vlan1665 vlan1666 vlan1667 \
vlan1701 vlan1747 vlan1765 vlan1766 \
vlan1801 vlan1865 vlan1866 \
vlan1901 vlan1965 vlan1966 \
vlan2001 vlan2065 vlan2066 vlan2067 \
vlan2008 vlan2068 \
vlan2506 vlan2533 vlan2536 vlan2531 vlan2537 vlan2547; do
/usr/sbin/dhcrelay -i ${i} $foo $bar
echo -n " ${i}"
done
echo '.'
Which produces:
xdlg@shotgun1 pf$ ps -aux | grep dhc
_dhcp 40965 0.0 0.0 532 1008 ?? Ssp 10Nov17 12:06.67
/usr/sbin/dhcrelay -i vlan371 192.0.2.194 192.0.2.196
_dhcp 16825 0.0 0.0 536 1012 ?? Ssp 10Nov17 2:08.80
/usr/sbin/dhcrelay -i vlan867 192.0.2.194 192.0.2.196
_dhcp 69672 0.0 0.0 532 1076 ?? Isp 10Nov17 0:46.06
/usr/sbin/dhcrelay -i vlan866 192.0.2.194 192.0.2.196
_dhcp 48117 0.0 0.0 536 972 ?? Isp 10Nov17 0:00.02
/usr/sbin/dhcrelay -i vlan373 192.0.2.194 192.0.2.196
_dhcp 43065 0.0 0.0 540 1068 ?? Isp 10Nov17 0:06.02
/usr/sbin/dhcrelay -i vlan835 192.0.2.194 192.0.2.196
_dhcp 77793 0.0 0.0 540 988 ?? Ssp 10Nov17 19:26.92
/usr/sbin/dhcrelay -i vlan801 192.0.2.194 192.0.2.196
_dhcp 68793 0.0 0.0 540 1028 ?? Isp 10Nov17 0:08.40
/usr/sbin/dhcrelay -i vlan847 192.0.2.194 192.0.2.196
_dhcp 12879 0.0 0.0 540 1016 ?? Isp 10Nov17 1:14.46
/usr/sbin/dhcrelay -i vlan1101 192.0.2.194 192.0.2.196
_dhcp 10430 0.0 0.0 544 1052 ?? Ssp 10Nov17 1:42.55
/usr/sbin/dhcrelay -i vlan811 192.0.2.194 192.0.2.196
_dhcp 87753 0.0 0.0 544 1016 ?? Isp 10Nov17 0:31.65
/usr/sbin/dhcrelay -i vlan815 192.0.2.194 192.0.2.196
_dhcp 21434 0.0 0.0 536 1024 ?? Isp 10Nov17 0:00.20
/usr/sbin/dhcrelay -i vlan816 192.0.2.194 192.0.2.196
_dhcp 17816 0.0 0.0 540 1020 ?? Isp 10Nov17 0:00.00
/usr/sbin/dhcrelay -i vlan1147 192.0.2.194 192.0.2.196
_dhcp 67338 0.0 0.0 540 1020 ?? Isp 10Nov17 0:00.11
/usr/sbin/dhcrelay -i vlan1247 192.0.2.194 192.0.2.196
_dhcp 73549 0.0 0.0 540 1020 ?? Isp 10Nov17 0:00.55
/usr/sbin/dhcrelay -i vlan1165 192.0.2.194 192.0.2.196
_dhcp 78748 0.0 0.0 540 1012 ?? Isp 10Nov17 0:02.33
/usr/sbin/dhcrelay -i vlan1166 192.0.2.194 192.0.2.196
_dhcp 82689 0.0 0.0 540 1008 ?? Isp 10Nov17 2:02.18
/usr/sbin/dhcrelay -i vlan1201 192.0.2.194 192.0.2.196
_dhcp 31199 0.0 0.0 540 996 ?? Isp 10Nov17 0:07.63
/usr/sbin/dhcrelay -i vlan1231 192.0.2.194 192.0.2.196
_dhcp 21332 0.0 0.0 532 1004 ?? Isp 10Nov17 1:24.02
/usr/sbin/dhcrelay -i vlan1265 192.0.2.194 192.0.2.196
_dhcp 35688 0.0 0.0 544 1040 ?? Isp 10Nov17 0:00.28
/usr/sbin/dhcrelay -i vlan1347 192.0.2.194 192.0.2.196
_dhcp 36741 0.0 0.0 540 1032 ?? Isp 10Nov17 0:07.17
/usr/sbin/dhcrelay -i vlan1266 192.0.2.194 192.0.2.196
_dhcp 90274 0.0 0.0 544 1024 ?? Isp 10Nov17 19:17.78
/usr/sbin/dhcrelay -i vlan1301 192.0.2.194 192.0.2.196
_dhcp 42199 0.0 0.0 548 1052 ?? Isp 10Nov17 0:00.17
/usr/sbin/dhcrelay -i vlan1331 192.0.2.194 192.0.2.196
_dhcp 83979 0.0 0.0 528 1000 ?? Ssp 10Nov17 2:09.78
/usr/sbin/dhcrelay -i vlan1365 192.0.2.194 192.0.2.196
_dhcp 52142 0.0 0.0 536 792 ?? Isp 10Nov17 0:00.00
/usr/sbin/dhcrelay -i vlan965 192.0.2.194 192.0.2.196
_dhcp 17747 0.0 0.0 540 996 ?? Isp 10Nov17 0:05.03
/usr/sbin/dhcrelay -i vlan1366 192.0.2.194 192.0.2.196
_dhcp 85673 0.0 0.0 536 988 ?? Isp 10Nov17 0:11.59
/usr/sbin/dhcrelay -i vlan947 192.0.2.194 192.0.2.196
_dhcp 266 0.0 0.0 536 964 ?? Isp 10Nov17 0:01.84
/usr/sbin/dhcrelay -i vlan966 192.0.2.194 192.0.2.196
_dhcp 59857 0.0 0.0 540 984 ?? Isp 10Nov17 4:26.67
/usr/sbin/dhcrelay -i vlan1401 192.0.2.194 192.0.2.196
_dhcp 17159 0.0 0.0 536 1012 ?? Ssp 10Nov17 1:27.85
/usr/sbin/dhcrelay -i vlan971 192.0.2.194 192.0.2.196
_dhcp 67613 0.0 0.0 540 1028 ?? Isp 10Nov17 2:29.27
/usr/sbin/dhcrelay -i vlan1465 192.0.2.194 192.0.2.196
_dhcp 33040 0.0 0.0 536 840 ?? Isp 10Nov17 0:00.00
/usr/sbin/dhcrelay -i vlan1565 192.0.2.194 192.0.2.196
_dhcp 4850 0.0 0.0 544 844 ?? Isp 10Nov17 0:00.00
/usr/sbin/dhcrelay -i vlan1501 192.0.2.194 192.0.2.196
_dhcp 70912 0.0 0.0 544 992 ?? Isp 10Nov17 0:30.19
/usr/sbin/dhcrelay -i vlan1467 192.0.2.194 192.0.2.196
_dhcp 4089 0.0 0.0 548 1016 ?? Isp 10Nov17 0:05.25
/usr/sbin/dhcrelay -i vlan1466 192.0.2.194 192.0.2.196
_dhcp 99740 0.0 0.0 540 1016 ?? Isp 10Nov17 0:02.74
/usr/sbin/dhcrelay -i vlan1667 192.0.2.194 192.0.2.196
_dhcp 11575 0.0 0.0 532 844 ?? Isp 10Nov17 0:00.00
/usr/sbin/dhcrelay -i vlan1566 192.0.2.194 192.0.2.196
_dhcp 27164 0.0 0.0 544 1024 ?? Ssp 10Nov17 23:05.83
/usr/sbin/dhcrelay -i vlan1601 192.0.2.194 192.0.2.196
_dhcp 68765 0.0 0.0 540 1012 ?? Isp 10Nov17 0:01.70
/usr/sbin/dhcrelay -i vlan1647 192.0.2.194 192.0.2.196
_dhcp 40234 0.0 0.0 536 988 ?? Isp 10Nov17 3:16.99
/usr/sbin/dhcrelay -i vlan1665 192.0.2.194 192.0.2.196
_dhcp 67224 0.0 0.0 536 1036 ?? Isp 10Nov17 1:52.88
/usr/sbin/dhcrelay -i vlan1666 192.0.2.194 192.0.2.196
_dhcp 93694 0.0 0.0 536 972 ?? Isp 10Nov17 0:05.81
/usr/sbin/dhcrelay -i vlan1766 192.0.2.194 192.0.2.196
_dhcp 83080 0.0 0.0 544 988 ?? Isp 10Nov17 4:45.33
/usr/sbin/dhcrelay -i vlan1701 192.0.2.194 192.0.2.196
_dhcp 38086 0.0 0.0 536 988 ?? Isp 10Nov17 0:00.13
/usr/sbin/dhcrelay -i vlan1747 192.0.2.194 192.0.2.196
_dhcp 39807 0.0 0.0 540 1024 ?? Isp 10Nov17 0:50.62
/usr/sbin/dhcrelay -i vlan1765 192.0.2.194 192.0.2.196
_dhcp 90389 0.0 0.0 548 1036 ?? Ssp 10Nov17 6:31.51
/usr/sbin/dhcrelay -i vlan1801 192.0.2.194 192.0.2.196
_dhcp 10054 0.0 0.0 540 876 ?? Isp 10Nov17 0:00.00
/usr/sbin/dhcrelay -i vlan1966 192.0.2.194 192.0.2.196
_dhcp 58426 0.0 0.0 544 828 ?? Isp 10Nov17 0:00.00
/usr/sbin/dhcrelay -i vlan1865 192.0.2.194 192.0.2.196
_dhcp 18360 0.0 0.0 540 1052 ?? Isp 10Nov17 0:00.76
/usr/sbin/dhcrelay -i vlan1866 192.0.2.194 192.0.2.196
_dhcp 20122 0.0 0.0 540 1000 ?? Isp 10Nov17 0:28.13
/usr/sbin/dhcrelay -i vlan1901 192.0.2.194 192.0.2.196
_dhcp 13328 0.0 0.0 536 884 ?? Isp 10Nov17 0:00.00
/usr/sbin/dhcrelay -i vlan1965 192.0.2.194 192.0.2.196
_dhcp 478 0.0 0.0 536 1004 ?? Isp 10Nov17 8:42.61
/usr/sbin/dhcrelay -i vlan2001 192.0.2.194 192.0.2.196
_dhcp 9283 0.0 0.0 536 1040 ?? Isp 10Nov17 0:00.04
/usr/sbin/dhcrelay -i vlan2008 192.0.2.194 192.0.2.196
_dhcp 35765 0.0 0.0 536 1036 ?? Isp 10Nov17 0:40.38
/usr/sbin/dhcrelay -i vlan2065 192.0.2.194 192.0.2.196
_dhcp 68344 0.0 0.0 544 1020 ?? Isp 10Nov17 0:05.28
/usr/sbin/dhcrelay -i vlan2066 192.0.2.194 192.0.2.196
_dhcp 898 0.0 0.0 540 1076 ?? Isp 10Nov17 0:15.26
/usr/sbin/dhcrelay -i vlan2067 192.0.2.194 192.0.2.196
_dhcp 26555 0.0 0.0 532 1000 ?? Isp 10Nov17 0:00.00
/usr/sbin/dhcrelay -i vlan2068 192.0.2.194 192.0.2.196
_dhcp 46351 0.0 0.0 536 1056 ?? Isp 10Nov17 0:02.12
/usr/sbin/dhcrelay -i vlan2547 192.0.2.194 192.0.2.196
_dhcp 27738 0.0 0.0 532 1052 ?? Ssp 10Nov17 28:37.87
/usr/sbin/dhcrelay -i vlan2506 192.0.2.194 192.0.2.196
_dhcp 78389 0.0 0.0 536 1004 ?? Ssp 10Nov17 11:40.86
/usr/sbin/dhcrelay -i vlan2533 192.0.2.194 192.0.2.196
_dhcp 24383 0.0 0.0 536 1060 ?? Isp 10Nov17 3:37.18
/usr/sbin/dhcrelay -i vlan2536 192.0.2.194 192.0.2.196
_dhcp 4846 0.0 0.0 544 948 ?? Isp 10Nov17 0:18.87
/usr/sbin/dhcrelay -i vlan2531 192.0.2.194 192.0.2.196
_dhcp 68578 0.0 0.0 544 1020 ?? Isp 10Nov17 0:01.16
/usr/sbin/dhcrelay -i vlan2537 192.0.2.194 192.0.2.196
_dhcp 23768 0.0 0.0 576 1160 ?? Is Tue01PM 0:08.32 ./dhcp-relay
-vi vlan865 192.0.2.194 192.0.2.196 192.168.0.10
xdlg 95826 0.0 0.0 132 372 p0 R+/3 7:50AM 0:00.00 grep dhc
So I can't explain why rcctl things don't work, but you should be able to
verify what's happening with rcctl -d and ps.
Cheers,
dlg
> On 5 Mar 2019, at 07:16, Riccardo Giuntoli <[email protected]> wrote:
>
> Hi there, many years that i don't use this ml. I'm Riccardo writing from
> Spain, nice to meet you guys.
>
> First of all, many compliments for the exceptional hard work that you've
> done in the OpenBSD development. Just, thank you.
>
> Next a possible bug:
>
> In the OpenBSD dhcrelay(8) implementation i cannot find an option to
> specify different interfaces in a single daemon instance, try to image a
> router with multiple vlans and a dhcpd server in other machine in an
> internal service dedicated routed ip network segment.
>
> The first instance is executed by the command:
>
> rcctl enable dhcrelay
> rcctl set dhcrelay flags "-i vlanxxx DST_ADDR"
>
> The second one i've done this workaround:
>
> cd /etc/rc.d
> cp -p dhcrelay dhcrelay_second
> rcctl enable dhcrelay_second
> rcctl set dhcrelay_second flags "-i vlanyyy DST_ADDR"
>
> Now if i open a tcpdump session in the router and in the server and i
> configure correctly the dhcpd in the server i notice that traffic from the
> dhcrelay_second to the dhclient host in the vlanyyy isn't correctly
> forwarded. And it is not a pf problem.
>
> The strangeness is that if i don't execute the relay from rcctl but i
> execute with:
>
> dhcrelay_second -d -i vlanyyy DST_ADDR
>
> it works like a charm.
>
> If you want more debug or pcap files or access to the machines there's no
> problem at all.
>
> Thank you to spend your time, nice regards,
>
> RG
>
> --
> Name: Riccardo Giuntoli
> Email: [email protected]
> Location: Canyelles, BCN, EspaƱa
> PGP Key: 0x67123739
> PGP Fingerprint: CE75 16B5 D855 842FAB54 FB5C DDC6 4640 6712 3739
> Key server: hkp://wwwkeys.eu.pgp.net