Điểm:2

Kết nối IPv6 đột ngột bị mất, đồng thời trạng thái bộ định tuyến hàng xóm IPv6 trở nên STALE. Làm thế nào tôi có thể tránh nó?

lá cờ de

Tôi có một máy ảo trên máy chủ có kết nối mạng (do đó, có địa chỉ MAC riêng). Cả máy chủ và máy ảo đều chạy CentOS. Mạng của họ được quản lý đơn giản /etc/sysconfig/network-scripts/ifcfg-enpXsY các tệp chứa địa chỉ IP tĩnh. IPv4 hoạt động tốt.

Tôi đã chỉ định một địa chỉ IPv6 cho VM (máy chủ cũng có một địa chỉ) được định tuyến chính xác trong trung tâm dữ liệu. Tuy nhiên, hầu hết các kết nối đều sử dụng IPv4 (chưa có mục DNS AAAA cho máy, vẫn đang thử nghiệm IPv6).

Khi tôi khởi động VM, nó có đầy đủ kết nối IPv6. Tuy nhiên, sau một thời gian, kết nối IPv6 ngừng hoạt động (Phép thuật IPv6?). Tôi đã thu hẹp vấn đề xuống dữ liệu hàng xóm (bộ đệm ARP/NDISC):

IPv6 không hoạt động, không thể ping hoặc kết nối bằng IPv6 vào hoặc ra, sau đó tôi thấy:

# ip -6 hàng xóm 
fe80::1 dev enp1s2 lladdr 0c:86:72:2e:04:28 bộ định tuyến STALE

Khắc phục/giải pháp thay thế để làm mới bộ đệm:

# ip -6 hàng xóm tuôn ra dev enp1s2
# ip -6 hàng xóm
(trống, như mong đợi)

sau đó ping6 máy chủ từ bên trong VM để điền vào bộ đệm:

# ping6 2912:1375:23:9a6c::2
PING 2912:1375:23:9a6c::2(2912:1375:23:9a6c::2) 56 byte dữ liệu
64 byte từ 2912:1375:23:9a6c::2: icmp_seq=1 ttl=64 time=2,35 ms
64 byte từ 2912:1375:23:9a6c::2: icmp_seq=2 ttl=64 time=0,468 ms
^C
# ip -6 hàng xóm
fe80::1 dev enp1s2 lladdr 0c:86:72:2e:04:28 bộ định tuyến CÓ THỂ TẠO
2912:1375:23:9a6c::2 dev enp1s2 lladdr 08:21:4b:b7:f8:31 TRỄ

Hàng xóm IPv6/bảng ARP được khôi phục về tính hợp lệ và kết nối đang hoạt động trong và ngoài!

Vì vậy, câu hỏi của tôi là:

  1. Tại sao bộ đệm trở nên cũ?
  2. Tôi có thể làm gì để tránh nó?'
  3. Tại sao/làm thế nào để lệnh trên sửa nó?

Tất nhiên tôi có thể chạy các lệnh đó trong một cron công việc (tần suất như thế nào?) nhưng tôi cho rằng điều đó thực sự không cần thiết để IPv6 hoạt động nói chung?

PS: Tôi đã sử dụng một tập lệnh để kiểm tra: Ngăn xếp IPv6 bị hỏng cứ sau 20 phút. Điều đó có thể được giải thích bằng RFC không?

PPS: Cấu hình tường lửa (đầu ra rút ngắn, hy vọng tất cả các bit có liên quan):

# ip6tables -nvL
Chuỗi INPUT (chính sách DROP 0 gói, 0 byte)
 pkts byte đích prot chọn không tham gia đích nguồn         
 9023 709K CHẤP NHẬN icmpv6 !lo * ::/0 ::/0                
OUTPUT chuỗi (chính sách DROP 0 gói, 0 byte)
 pkts byte đích prot chọn không tham gia đích nguồn         
 9360 785K CHẤP NHẬN icmpv6 * !lo ::/0 ::/0                

Vì vậy, ICMPv6 đã chấp nhận vào/ra trên VM. Tôi có cần kiểm tra lọc trên máy chủ không?

lá cờ cn
Bạn đã thiết lập một số quy tắc tường lửa có thể chặn ICMPv6 (bao gồm cả NDP) chưa?
lá cờ de
@HÃ¥kanLindqvist Cảm ơn, có thể chưa được lọc, đã thêm đầu ra `ip6tables`.
Michael Hampton avatar
lá cờ cz
Có một số chi tiết còn thiếu: Trung tâm dữ liệu là ai? Mạng cầu nối được thiết lập như thế nào trong trình ảo hóa của bạn (và nó là gì)? Trạng thái _complete_ của tường lửa IPv6 là gì?
Điểm:1
lá cờ cn

Nói chung, Trạng thái cũ là một điều tốt, thực sự có thể chấp nhận được khi chúng ta có Trạng thái cũ.

Hãy xem RFC 4861, phần 5.1. :

  STALE Hàng xóm không còn được biết là có thể truy cập được nhưng cho đến khi lưu lượng truy cập được gửi đến hàng xóm, không nên thực hiện bất kỳ nỗ lực nào để xác minh khả năng truy cập của nó.

Hàng xóm không còn được biết là có thể truy cập được (hẹn giờ đã hết hạn, gần đây không có lưu lượng truy cập, bất cứ điều gì) và khả năng truy cập sẽ được 'xác minh' sau khi lưu lượng truy cập được gửi lại cho hàng xóm.

Vì vậy, sẽ không có vấn đề gì nếu bạn có thể gửi lại lưu lượng truy cập cho hàng xóm.

lá cờ de
Cảm ơn. Vấn đề của tôi là máy chủ mất kết nối IPv6 - nó ngừng trả lời các yêu cầu đến khi trạng thái STALE được hiển thị. Tôi cho rằng cả hai vấn đề có cùng một nguyên nhân? Chính xác thì các lệnh `ip r` và `ping` mà tôi đã trình bày chi tiết trong Câu hỏi khôi phục kết nối của mình chính xác như thế nào?
lá cờ de
Vấn đề là tôi KHÔNG THỂ gửi lưu lượng truy cập đến hàng xóm mà không có các bước bổ sung này và máy chủ cũng không thể truy cập được từ bên ngoài. Vì vậy: Làm thế nào và tại sao kết nối bị mất? Làm cách nào để các lệnh `ip -6 neighbour` và `ping` khôi phục kết nối? Điều này có thể được thực hiện mà không cần các bước này? Tất cả các máy IPv6 có thực hiện các bước này theo định kỳ hay tại sao chúng không bị mất kết nối?
Omid Estaji avatar
lá cờ cn
Trạng thái cũ là một phần bình thường của khám phá hàng xóm IPv6. Khi máy chủ khởi động, nó sẽ thực hiện một số việc và cũng là Quảng cáo hàng xóm miễn phí nhưng chúng tôi sẽ không chấp nhận mục nhập mới khi chúng tôi thấy một NA miễn phí. Điều này khác với giao thức kế thừa (IPv4), bất cứ khi nào chúng tôi thấy một ARP miễn phí, chúng tôi thực sự đã thực hiện một mục nhập vào bộ đệm. ở đây trong IPv6, chúng tôi chỉ thêm mục nhập vào bộ đệm nếu chúng tôi cập nhật mục nhập hiện có với NA miễn phí đó. vì vậy Cũ có nghĩa là Hiện không liên lạc, đang chờ gói xếp hàng tiếp theo. sau đó nếu chúng tôi gửi một gói, trạng thái có thể rơi vào trạng thái Trì hoãn và sẽ đợi các giao thức lớp trên trả lại lưu lượng.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.