¿Problema con dhcrelay?

¿Problema con dhcrelay?

La respuesta de dhcpd no llega al cliente final.

Antecedentes: Red doméstica:

107.nn.164.89 - a internet

192.168.100.0/24 - casa local lan1

192.168.1.254/30 - puerta de entrada a la cueva

Hombre de las cavernas:

192.168.1.253/30 - puerta de entrada a la casa

192.168.200.254/24 - lan1 local de mancave

mancave dhcrelay envía solicitudes al servidor dhcp que se ejecuta en lan1 interna (que también escucha en 1.254/30)

house dhcp responde a esas solicitudes.

Puedo ver la respuesta proveniente de la casa en 1.253 y dhcrelay la envía a la red 200.0/24; o eso creo.

La red 200.0/24 muestra que la solicitud sale y no vuelve a entrar nada.

Puedo navegar (o lo que sea) desde la red 200.0/24 en Mancave si configuro manualmente IP, Gateway, etc.

dhcrelay, ruta, tcpdump sigue:

darouter es red doméstica

[root@darouter named]# tcpdump -i ens2 -nn port 67 or port 68
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens2, link-type EN10MB (Ethernet), capture size 262144 bytes
07:10:26.347170 IP 192.168.1.253.67 > 192.168.1.254.67: BOOTP/DHCP, Request from 00:e8:fb:00:67:37, length 548
07:10:26.347488 IP 192.168.1.254.67 > 192.168.200.254.67: BOOTP/DHCP, Reply, length 310
07:10:34.427024 IP 192.168.1.253.67 > 192.168.1.254.67: BOOTP/DHCP, Request from 00:e8:fb:00:67:37, length 548
07:10:34.427282 IP 192.168.1.254.67 > 192.168.200.254.67: BOOTP/DHCP, Reply, length 310

dacave es una red mancave; el primero es 1.253/30 neto

[root@dacave ~]# tcpdump -i enp3s0 -nn port 67 or port 68
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp3s0, link-type EN10MB (Ethernet), capture size 262144 bytes
09:09:45.827122 IP 192.168.1.253.67 > 192.168.1.254.67: BOOTP/DHCP, Request from 00:e8:fb:00:67:37, length 548
09:09:45.827647 IP 192.168.1.254.67 > 192.168.200.254.67: BOOTP/DHCP, Reply, length 310
09:09:53.906938 IP 192.168.1.253.67 > 192.168.1.254.67: BOOTP/DHCP, Request from 00:e8:fb:00:67:37, length 548
09:09:53.907477 IP 192.168.1.254.67 > 192.168.200.254.67: BOOTP/DHCP, Reply, length 310
^C
4 packets captured

200,0/24 neto:

[root@dacave ~]# tcpdump -i enp5s0 -nn port 67 or port 68
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp5s0, link-type EN10MB (Ethernet), capture size 262144 bytes
09:09:45.827036 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:e8:fb:00:67:37, length 548
09:09:53.906885 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:e8:fb:00:67:37, length 548
^C
2 packets captured

configuración de dhcrelay:

[root@dacave ~]# show dhc
206:  82462 ?        Ss     0:00 /usr/sbin/dhcrelay -d --no-pid 192.168.1.254 -i enp5s0

ruta de la cueva -n

[root@dacave ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.254   0.0.0.0         UG    100    0        0 enp3s0
192.168.1.252   0.0.0.0         255.255.255.252 U     100    0        0 enp3s0
192.168.200.0   0.0.0.0         255.255.255.0   U     101    0        0 enp5s0
[root@dacave ~]# 

ruta de la casa -n

[root@darouter named]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         107.nn.164.89  0.0.0.0         UG    100    0        0 enp2s0f0
0.0.0.0         192.168.1.253   0.0.0.0         UG    101    0        0 ens2
107.nn.164.88  0.0.0.0         255.255.255.252 U     100    0        0 enp2s0f0
192.168.1.252   0.0.0.0         255.255.255.252 U     100    0        0 ens2
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 enp2s0f1
192.168.200.0   192.168.1.254   255.255.255.0   UG    0      0        0 ens2
[root@darouter named]# 

Como puede ver, no llegan respuestas a la red 200.0/24.

¿Me falta una ruta o?

Oh, el firewall está completamente abierto (entrada, salida y aceptación de reenvío). Probé 'iptables -t nat -A POSTROUTING -o enp3s0 -j ​​SNAT a 192.168.1.253 y eliminé la línea SNAT por completo.

NO se pudo poner dhcrelay en 'etiquetas'. ¿Por qué alguien necesitaría 300 representantes para hacer eso?

icarus: probé -m forward en el inicio de dhcrelay; no veo la diferencia. la traza regresapaginasde cosas. No estoy familiarizado con el comando y --help no me ayuda. ¿Puedo buscar algo o configurar algún cambio en la línea de comando para ayudar? Me di cuenta durante el inicio que el último mensaje impreso por dhcrelay es "Se eliminaron todas las capacidades". Si lo sabes, ¿qué significa eso?

Además, agregar -v a la línea tcpdump produce:

dropped privs to tcpdump
tcpdump: listening on enp3s0, link-type EN10MB (Ethernet), capture size 262144 bytes
09:49:42.961047 IP (tos 0x0, ttl 64, id 4, offset 0, flags [DF], proto UDP (17), length 576)
    192.168.1.253.67 > 192.168.1.254.67: BOOTP/DHCP, Request from 00:e8:fb:00:67:37, length 548, hops 1, xid 0xdf341d5f, secs 3, Flags [none]
          Gateway-IP 192.168.200.254
          Client-Ethernet-Address 00:e8:fb:00:67:37
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            MSZ Option 57, length 2: 548
            Requested-IP Option 50, length 4: 192.168.200.101
            Lease-Time Option 51, length 4: 4294967295
            Parameter-Request Option 55, length 14: 
              Subnet-Mask, Default-Gateway, Domain-Name-Server, Hostname
              Domain-Name, RP, TTL, BR
              MD, Router-Discovery, Static-Route, YD
              YS, NTP
            Vendor-Class Option 60, length 23: "Linux 2.4.20-uc0 armv3l"
            Client-ID Option 61, length 7: ether 00:e8:fb:00:67:37
09:49:42.961603 IP (tos 0x0, ttl 64, id 37859, offset 0, flags [DF], proto UDP (17), length 338)
    192.168.1.254.67 > 192.168.200.254.67: BOOTP/DHCP, Reply, length 310, hops 1, xid 0xdf341d5f, secs 3, Flags [none]
          Your-IP 192.168.200.10
          Gateway-IP 192.168.200.254
          Client-Ethernet-Address 00:e8:fb:00:67:37
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Offer
            Server-ID Option 54, length 4: 192.168.1.254
            Lease-Time Option 51, length 4: 86400
            Subnet-Mask Option 1, length 4: 255.255.255.0
            Default-Gateway Option 3, length 4: 192.168.200.254
            Domain-Name-Server Option 6, length 4: 192.168.1.254
            Hostname Option 12, length 6: "UpEast"
            Domain-Name Option 15, length 14: "todhackett.com"
            BR Option 28, length 4: 255.255.255.255
            NTP Option 42, length 4: 192.168.1.254
^C
2 packets captured

si eso ayuda.

Lo tengo funcionando. El manual de dhcrelay indica que configuró el puerto para escuchar las solicitudes de dhcp, lo cual hice y dejé 1.252/30 como solo 2 IP allí. Ok, mi cerebro a veces en cortocircuito decidió que efectivamente estaban llegando mensajes de respuesta dhcp, así que configuré la interfaz 1.252/30 también en la línea.

dhcrelay -d --no-pid -i enp5s0 -i enp3s0 192.168.1.254

¡Todo funciona genial! ¡Gracias por tus respuestas!

información relacionada