Điểm:3

Linux: Có thể thay thế nguyên tử bảng định tuyến không?

lá cờ in

Có phải với sự trợ giúp của tuyến ip hoặc cách tương tự để thay thế nguyên tử bảng định tuyến không? Tôi muốn chuẩn bị một bảng định tuyến và sau đó thay thế một bảng định tuyến cũ bằng một bảng định tuyến mới được tạo một cách nguyên tử.

quy tắc ip?

CẬP NHẬT: Tôi muốn chuẩn bị một bảng định tuyến và thay thế bảng hiện đang hoạt động dưới dạng hoạt động nguyên tử. Tôi cần phải làm điều này từ daemon của riêng tôi.

drookie avatar
lá cờ za
Nó không phải là rất rõ ràng những gì bạn đang làm chính xác. Đối với các hành động của bảng định tuyến tự động, có một loạt các giao thức định tuyến động. Để xử lý các gói mạng liên quan đến một số điều kiện, cũng có các quy tắc ip. Nhưng không ai thực sự không "thay thế" các bảng định tuyến.
mlom avatar
lá cờ in
@droookie: Tôi đã cập nhật câu hỏi.
Điểm:1
lá cờ cl
A.B

Theo như tôi biết thì không có tính năng nào cho phép chuyển đổi hai bảng định tuyến trong Linux cũng như không thay thế nguyên tử một quy tắc định tuyến hiện có. Vẫn có thể đạt được một công tắc nguyên tử như được trình bày bên dưới. Tất cả các môn thể dục với các quy tắc trung gian là thực sự nguyên tử ở bất kỳ bước nào mà không có bất kỳ dấu hiệu báo trước nào. Đối với tất cả ý định và mục đích, các đi đến các quy tắc dưới đây là tùy chọn và tính nguyên tử gần như vẫn sẽ đạt được nếu không có chúng.

Thuật toán:

  1. trạng thái trước đó:

    Bảng định tuyến 1000 đã được thêm vào cũng như quy tắc có tùy chọn 20000 thực hiện tra cứu trên bảng này (không có bộ chọn ở đây vì thông tin này không có sẵn từ OP):

    quy tắc $ ip -4
    0: từ tất cả tra cứu cục bộ
    20000: từ tất cả tra cứu 1000
    32766: từ tất cả tra cứu chính
    32767: từ tất cả tra cứu mặc định
    
  2. sự chuẩn bị:

    Bảng định tuyến 1001 được chuẩn bị trước với một vài tuyến ip thêm ... bảng 1001 mệnh lệnh. Vì không có quy tắc nào đề cập đến nó nên nó vẫn không hoạt động. Đó là bảng định tuyến sẽ thay thế bảng định tuyến 1000.

  3. thêm quy tắc định tuyến mới (có thể có bộ chọn bổ sung) tham chiếu quy tắc đó ở giá trị tùy chọn sau, nhưng bỏ qua quy tắc đó trước với đi đến quy tắc

    ... chỉ vào quy tắc thông thường để tra cứu chủ yếu, do đó, thậm chí không có trường hợp bảng định tuyến cũ ảnh hưởng đến một số gói và trường hợp định tuyến mới hơn sẽ ảnh hưởng đồng thời đến các gói khác trước khi quá trình chuyển đổi kết thúc. Điều này được cho là không thực sự quan trọng và đi đến các quy tắc dưới đây có thể được bỏ qua nếu tính nguyên tử nghiêm ngặt như vậy là không cần thiết.

    quy tắc ip thêm pref 20001 goto 32766
    quy tắc ip thêm pref 20002 tra cứu 1001
    
  4. tự động chuyển sang bảng định tuyến mới hơn với một khác đi đến quy tắc có tùy chọn trước đó sẽ bỏ qua cả quy tắc dành cho bảng định tuyến cũ hơn và quy tắc đã bỏ qua bảng định tuyến mới hơn.

    quy tắc ip thêm pref 19999 goto 20002
    
  5. dọn dẹp

    quy tắc ip del pref 20000
    quy tắc ip del pref 20001
    quy tắc ip del pref 19999
    
  6. quay lại trạng thái trước đó: sử dụng lại ID bảng định tuyến trước đó và các giá trị tùy chọn quy tắc định tuyến

    • làm lại trên bảng định tuyến 1000 các thao tác tương tự đã thực hiện trước đó trên bảng định tuyến 1001 ở bước 2., bắt đầu bằng cách xóa nó

      bảng xóa lộ trình ip 1000
      tuyến ip thêm ... bảng 1000
      ...
      
    • đặt lại tùy chọn và tham chiếu đến trạng thái trước đó và dọn dẹp

      quy tắc ip thêm pref 20000 tra cứu 1000
      quy tắc ip del pref 20002
      ip tuôn ra bảng 1001
      

    Hoặc chuyển đổi vai trò của các bảng 1000 và 1001 trong lần lặp lại tiếp theo có thể sẽ tránh phải điền các tuyến hai lần.

    Trạng thái bây giờ trở lại bước 1.

Nếu mục tiêu là thay thế chủ yếu bảng định tuyến, chỉ cần coi đó là bảng ID 254 (và đó là bảng duy nhất (dọc theo địa phương bảng định tuyến) để nhận các tuyến kernel tự động: tốt hơn là luôn sử dụng không có tiền tố đến địa chỉ và thêm tuyến đường bởi trình nền trong trường hợp này): không có nhiều thay đổi trong thuật toán ở trên ngoại trừ có thể thay thế chọn 32766 với chọn 32767 hoặc một sự thay đổi tương tự. Ngoài ra, bất kỳ tuyến mới nào được thêm vào bảng định tuyến (ngay cả khi không được tham chiếu) đều yêu cầu xác thực với chính nó hoặc các tuyến đã có trong bảng này hoặc các quy tắc đang hoạt động hiện tại và các tuyến của bảng được tham chiếu.

Đă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.