dhcrelay 문제인가요?

dhcrelay 문제인가요?

dhcpd 응답이 최종 클라이언트에 도달하지 못합니다.

배경: 하우스 네트워크:

107.nn.164.89 - 인터넷으로

192.168.100.0/24 - 하우스 로컬 lan1

192.168.1.254/30 - 맨케이브로 가는 관문

맨케이브:

192.168.1.253/30 - 집으로 가는 관문

192.168.200.254/24 - 맨케이브 로컬 lan1

mancave dhcrelay는 하우스 lan1에서 실행되는 dhcp 서버에 요청을 보냅니다(이 서버는 1.254/30에서도 수신함)

house dhcp는 이러한 요청에 응답합니다.

1.253의 집에서 응답이 오는 것을 볼 수 있으며 dhcrelay는 이를 200.0/24 네트워크로 보냅니다. 아니면 내 생각엔.

200.0/24 네트워크에는 요청이 나가고 다시 들어오는 요청이 표시되지 않습니다.

IP, 게이트웨이 등을 수동으로 설정하면 mancave의 200.0/24 네트워크에서 서핑(또는 무엇이든)할 수 있습니다.

dhcrelay, 경로, tcpdump는 다음과 같습니다:

다라우터는 하우스 네트워크입니다

[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는 mancave 네트워크입니다. 첫 번째는 순 1.253/30입니다.

[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 순:

[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

dhcrelay 구성:

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

맨케이브 경로 -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 ~]# 

집 경로 -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]# 

보시다시피 200.0/24 네트워크에는 응답이 다시 돌아오지 않습니다.

누락된 경로가 있습니까?

아, 방화벽이 활짝 열려 있습니다(입력, 출력 및 전달 허용). 나는 'iptables -t nat -A POSTROUTING -o enp3s0 -j ​​SNAT를 192.168.1.253으로 시도하고 SNAT 줄을 모두 함께 제거했습니다.

dhcrelay를 '태그'에 넣을 수 없습니다. 왜 그렇게 하려면 누군가 300명의 담당자가 필요할까요?

icarus: dhcrelay 시작에서 -m 전달을 시도했지만 차이가 없습니다. 추적 반환페이지물건의. 나는 명령에 익숙하지 않으며 --help는 나에게 도움이 되지 않습니다. 뭔가를 grep하거나 명령줄 스위치를 설정하여 도움을 받을 수 있나요? 시작하는 동안 dhcrelay가 인쇄한 마지막 메시지는 '모든 기능을 삭제했습니다'라는 것을 알았습니다. 안다면 그게 무슨 뜻인가요?

또한 tcpdump 줄에 -v를 추가하면 다음이 생성됩니다.

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

그게 도움이 된다면.

작동했습니다. dhcrelay 매뉴얼에는 내가 수행한 dhcp 요청을 수신하도록 포트를 설정하고 1.252/30을 2개의 IP만 남겨두었다고 명시되어 있습니다. 좋아, 가끔 단락된 내 두뇌는 실제로 dhcp 응답 메시지가 들어오는 것으로 판단하여 1.252/30 인터페이스도 해당 라인에 설정했습니다.

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

모두 잘 작동합니다! 답장을 보내주셔서 감사합니다!

관련 정보