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 - Mankaf 로컬 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 요청을 수신하도록 포트를 설정한다고 명시되어 있으며 IP가 2개만 있으므로 1.252/30을 제외했습니다. 좋아, 가끔 단락된 내 두뇌는 실제로 dhcp 응답 메시지가 들어오는 것이라고 생각하여 1.252/30 인터페이스도 온라인으로 설정했습니다.
dhcrelay -d --no-pid -i enp5s0 -i enp3s0 192.168.1.254
모든것이 좋아! 당신의 답변에 감사드립니다!