간단히 말해서:
opi
두 개의 호스트 가 있고 bpi
.
이 작업을 수행할 때 IPv4를 통해 연결했지만 ssh bpi
( 잘못된) IPv6 주소를 사용하는 opi
문제를 추적했습니다 . 내 OpenWRT 라우터는 와 관련이 있다고 생각 하지만 실제로는 ( ) 대신 으로 표시됩니다 .ssh opi
ssh bpi
bpi
ip address show eth0
opi
출력 등을 게시할 수 있지만 ip address show
무엇이 비공개이고 무엇이 IPv6가 아닌지 잘 모르겠습니다. 문제의 주소 범위는 입니다 global mngtmpaddr noprefixroute
.
라우터에 보이는 모든 IPv6를 끄고 싶지는 않지만 무엇이 문제인지도 모르겠습니다.
세부 사항:
이 문제 때문에 IPv6에 대해 읽어보려고 노력했지만, 네트워킹 관련 내용은 별로 만족스럽지 않고 어려운 부분이 많기 때문에 대개 멀리합니다.
이 동작은 SSH 호스트 키 변경 DNS 스푸핑 경고를 트리거하므로 이는 좋은 일입니다. OpenWRT의 IPv6과 관련이 있을 수 있지만 다른 사람이나 미해결 문제를 찾을 수 없습니다. 또한 아직 IPv6 관련 항목을 설정하지 않았습니다. 이런 일이 일어났습니다. 라우터는 지난 달 OpenWrt 21.02.1로 플래시되었습니다.
모든 머신은 Debian Linux 기반입니다. 이 문제는 제가 사용해본 세 가지 노트북 모두에서 발생했습니다. OpenWRT의 dnsmasq 서비스를 사용하여 모든 호스트에 DNS 이름과 함께 정적 DHCP 임대를 제공합니다. 각 호스트의 파일은 인벤토리입니다( /etc/hosts
ZeroTier에서 제공하는 주소 별칭 목록 제외).*.zt
IPv4 주소 또는 ZeroTier 별칭에 직접 연결하면 모든 것이 예상대로 작동합니다.
opi
OpenWRT에서는 IPv6 호스트로 표시되지 않습니다.
bpi
표시되지만 주소는 입니다 opi
. 두 상자 모두 서로 다른 MAC을 가지고 있으므로 정적 DHCP 할당을 위해 dnsmasq에 넣고 WOL용 구성 파일에 보관합니다.
모든 IPv6 주소(모든 주소 제외)에 연결할 수 있습니다. 이것은 아마도 특별한 주소일 것입니다. 저는 몇 년 전에 했던 he.net 튜토리얼을 제외하고는 IPv6에 대해 거의 아는 바가 없습니다.
IPv6를 완전히 끄는 것 외에 무엇을 시도할 수 있습니까?
OpenWRT에서 IPv6 접미사를 설정해야 합니까?
/etc/nsswitch.conf
요청 시 Ubuntu 10/Debian 11은 있는 그대로 제공됩니다.
passwd: compat systemd
group: compat systemd
shadow: compat
gshadow: files
hosts: files mdns4_minimal [NOTFOUND=return] dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
그리고 /etc/hosts
(또는 적어도 IPv6 부분):
127.0.0.1 localhost
127.0.1.1 t460s
# Some IPv4 aliases here, nothing more
# 10.147.*.* *.zt
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
네임서버는 이 노트북이나 /를 포함한 다른 모든 노트북 127.0.0.53
에 있습니다 (192.168.3.1은 OpenWRT 게이트웨이입니다).192.168.3.1
opi
bpi
$ nslookup opi.lan
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: opi.lan
Address: 192.168.3.182
$ nslookup bpi.lan
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: bpi.lan
Address: 192.168.3.160
Name: bpi.lan
Address: fd26:256d:8eef::17f
$ ssh bpi.zt nslookup bpi
Server: 192.168.3.1
Address: 192.168.3.1#53
Name: bpi.lan
Address: 192.168.3.160
Name: bpi.lan
Address: fd26:256d:8eef::17f
게이트웨이 자체에서 uci show dhcp
:
dhcp.@dnsmasq[0]=dnsmasq
dhcp.@dnsmasq[0].domainneeded='1'
dhcp.@dnsmasq[0].localise_queries='1'
dhcp.@dnsmasq[0].rebind_protection='1'
dhcp.@dnsmasq[0].rebind_localhost='1'
dhcp.@dnsmasq[0].local='/lan/'
dhcp.@dnsmasq[0].domain='lan'
dhcp.@dnsmasq[0].expandhosts='1'
dhcp.@dnsmasq[0].authoritative='1'
dhcp.@dnsmasq[0].readethers='1'
dhcp.@dnsmasq[0].leasefile='/tmp/dhcp.leases'
dhcp.@dnsmasq[0].resolvfile='/tmp/resolv.conf.d/resolv.conf.auto'
dhcp.@dnsmasq[0].localservice='1'
dhcp.@dnsmasq[0].ednspacket_max='1232'
dhcp.lan=dhcp
dhcp.lan.interface='lan'
dhcp.lan.start='100'
dhcp.lan.limit='150'
dhcp.lan.leasetime='12h'
dhcp.lan.dhcpv4='server'
dhcp.lan.dhcpv6='server'
dhcp.lan.ra='server'
dhcp.lan.ra_flags='managed-config' 'other-config'
dhcp.wan=dhcp
dhcp.wan.interface='wan'
dhcp.wan.ignore='1'
dhcp.odhcpd=odhcpd
dhcp.odhcpd.maindhcp='0'
dhcp.odhcpd.leasefile='/tmp/hosts/odhcpd'
dhcp.odhcpd.leasetrigger='/usr/sbin/odhcpd-update'
dhcp.odhcpd.loglevel='4'
dhcp.@host[0]=host
dhcp.@host[0].name='xxx'
dhcp.@host[0].dns='1'
dhcp.@host[0].mac='x:x:x:x:x:x'
dhcp.@host[0].ip='192.168.3.x'
IPv6 라우팅:
::1 dev lo proto kernel metric 256 pref medium
fd26:256d:8eef::3b5 dev wlp3s0 proto kernel metric 600 pref medium
fd26:256d:8eef::d1c dev enp0s31f6 proto kernel metric 100 pref medium
fd26:256d:8eef::/64 dev enp0s31f6 proto ra metric 100 pref medium
fd26:256d:8eef::/64 dev wlp3s0 proto ra metric 600 pref medium
fd26:256d:8eef::/48 via fe80::9ade:d0ff:fe5e:534c dev enp0s31f6 proto ra metric 100 pref medium
fd26:256d:8eef::/48 via fe80::9ade:d0ff:fe5e:534c dev wlp3s0 proto ra metric 600 pref medium
fe80::/64 dev enp0s31f6 proto kernel metric 100 pref medium
fe80::/64 dev ztuku7oncs proto kernel metric 256 pref medium
fe80::/64 dev wlp3s0 proto kernel metric 600 pref medium
전형적인 resolv.conf
:
search lan
nameserver 192.168.3.1
nameserver fd26:256d:8eef::1
$ ssh bpi
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The ECDSA host key for bpi has changed,
and the key for the corresponding IP address fd26:256d:8eef::17f
is unchanged. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
Offending key for IP in /home/hari/.ssh/known_hosts:113
remove with:
ssh-keygen -f "/home/hari/.ssh/known_hosts" -R "fd26:256d:8eef::17f"
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:UdjpmN7FNjdrvUWRMXPDYW6wURx0BU3N/AeuZpf0oTc.
Please contact your system administrator.
Add correct host key in /home/hari/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/hari/.ssh/known_hosts:149
remove with:
ssh-keygen -f "/home/hari/.ssh/known_hosts" -R "bpi"
Password authentication is disabled to avoid man-in-the-middle attacks.
Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks.
Agent forwarding is disabled to avoid man-in-the-middle attacks.
___ ____ _ ___
/ _ \| _ \(_) / _ \ _ __ ___
| | | | |_) | | | | | | '_ \ / _ \
| |_| | __/| | | |_| | | | | __/
\___/|_| |_| \___/|_| |_|\___|
Welcome to Armbian 21.02.2 Focal with Linux 5.10.60-sunxi
...
$ ssh bpi.zt
____ ____ _
| __ )| _ \(_)
| _ \| |_) | |
| |_) | __/| |
|____/|_| |_|
Welcome to Armbian 21.02.3 Focal with Linux 5.10.60-sunxi
...
나중에 살펴보겠습니다.
- 혹시 resolve.conf에 특별한 기능이 있나요?
resolve.conf.d
아마도... - 둘 사이에 관리되는 스위치를 갖는 것이 중요한가요? 이것도 새로운 기능입니다...
- mDNS는 내가 할 수 있는 일이며 이로 인해
search local
문제가 "숨겨질" 수 있습니까?
하지만 정말 OpenWRT를 파헤쳐보고 그 사람들을 괴롭혀야 하는지 알아봐야 할 것 같아요.