![Azure Linux에는 기본 ipv6 경로가 없습니다.](https://rvso.com/image/770083/Azure%20Linux%EC%97%90%EB%8A%94%20%EA%B8%B0%EB%B3%B8%20ipv6%20%EA%B2%BD%EB%A1%9C%EA%B0%80%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
환경
- VM: 리눅스 데비안 10.10
- ipv4 및 ipv6 주소 공간과 서브넷이 있는 가상 네트워크
- 공개 ipv4 주소 및 공개 ipv6 주소(표준 SKU)
- VM NIC는 공용 ipv4 및 공용 ipv6 주소를 연결합니다.
- VM NIC에 개인 ipv4 및 ipv6 주소가 할당됨( 확인
ip address
)
네트워크 보안 그룹:
네트워크 NIC 유효 경로
문제
연결 할 수 없음http://ipv6.google.com
# curl -v http://ipv6.google.com
* Trying 2404:6800:4005:812::200e...
* TCP_NODELAY set
* Immediate connect fail for 2404:6800:4005:812::200e: Network is unreachable
* Closing connection 0
curl: (7) Couldn't connect to server
IPv6 기본 경로 없음
# ip -6 r
::1 dev lo proto kernel metric 256 pref medium
fd00::/80 dev docker0 metric 1024 linkdown pref medium
fd00:4244:7016::4 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev docker0 proto kernel metric 256 linkdown pref medium
fe80::/64 dev br-a3568bc4adc5 proto kernel metric 256 pref medium
fe80::/64 dev veth907e563 proto kernel metric 256 pref medium
fe80::/64 dev vethdf50b7b proto kernel metric 256 pref medium
fe80::/64 dev veth1322b71 proto kernel metric 256 pref medium
fe80::/64 dev veth6d1b4d6 proto kernel metric 256 pref medium
fe80::/64 dev vethca17875 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
IPv6 라우터 알림에 기본 경로가 없습니다.
라우터 광고에는 접두사 길이만 포함됩니다.
# tcpdump -i eth0 -vv icmp6
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
00:51:28.053407 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 56) fe80::1234:5678:9abc > ip6-allnodes: [icmp6 sum ok] ICMP6, router advertisement, length 56
hop limit 0, Flags [managed, other stateful], pref medium, router lifetime 9000s, reachable time 0ms, retrans timer 0ms
source link-address option (1), length 8 (1): 12:34:56:78:9a:bc
0x0000: 1234 5678 9abc
prefix info option (3), length 32 (4): fd00:4244:7016::/64, Flags [onlink], valid time infinity, pref. time infinity
0x0000: 4080 ffff ffff ffff ffff 0000 0000 fd00
0x0010: 4244 7016 0000 0000 0000 0000 0000
IPV6 주소
# ip -6 address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fd00:4244:7016::4/128 scope global
valid_lft forever preferred_lft forever
inet6 fe80::20d:3aff:fe82:b7d3/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 state DOWN
inet6 fe80::1/64 scope link tentative
valid_lft forever preferred_lft forever
4: br-a3568bc4adc5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
inet6 fe80::42:5bff:fe7d:1e0d/64 scope link
valid_lft forever preferred_lft forever
16: veth907e563@if15: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
inet6 fe80::44da:baff:fef3:c54d/64 scope link
valid_lft forever preferred_lft forever
18: vethdf50b7b@if17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
inet6 fe80::5c5d:93ff:fead:8190/64 scope link
valid_lft forever preferred_lft forever
20: veth1322b71@if19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
inet6 fe80::f4a1:ceff:fe3e:55f4/64 scope link
valid_lft forever preferred_lft forever
22: veth6d1b4d6@if21: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
inet6 fe80::60de:73ff:fe59:74ec/64 scope link
valid_lft forever preferred_lft forever
24: vethca17875@if23: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
inet6 fe80::f47a:a6ff:febf:a444/64 scope link
valid_lft forever preferred_lft forever
답변1
문제를 해결했습니다. ipv6 전달은 기본적으로 활성화되어 있으며 accept_ra
라우터 알림을 무시하는 1로 설정됩니다. /etc/sysctl.conf
IPv6 전달을 끄려면 다음을 추가하십시오 .
net.ipv6.conf.all.forwarding=0
업데이트
IPv6 전달은 다음을 통해 활성화됩니다.도커 IPv6 기능. 따라서 ipv6을 활성화하여 docker에 대한 인터페이스를 설정합니다 accept_ra=2
.