Điểm:1

iptables: các quy tắc khác nhau cho các IP cổng hiện tại khác nhau

lá cờ au

Giả sử tôi có Máy A làm cổng. Máy A có một giao diện với 2 IP.

Cấu hình netplan cho Máy A như sau:

  trình kết xuất: mạng
  ethernet:
    eth0:
      dhcp4: không
      địa chỉ:
        - 192.168.1.1/24
        - 192.168.1.2/24

Bây giờ tôi muốn các quy tắc REDIRECT của iptables hoạt động khác nhau tùy thuộc vào việc Máy B đặt cổng của nó là 192.168.1.1 hay 192.168.1.2

Đây là lệnh iptables tôi đang cố thực hiện trên Máy A:

iptables --table nat --append PREROUTING --some-parameter 192.168.1.1 --protocol tcp --jump REDIRECT --to-ports 9991
iptables --table nat --append PREROUTING --some-parameter 192.168.1.2 --protocol tcp --jump REDIRECT --to-ports 9992

Bạn có thể vui lòng cho biết tên chính xác của --some-tham số ở trên?

Điểm:1
lá cờ cl
A.B

Không có cách nào để làm điều này với 192.168.1.1 và 192.168.1.2 trên cùng một giao diện mạng của cổng, do đó phân giải thành cùng một địa chỉ MAC. Nó không phải là một tính năng không được thực hiện trong iptables có thể được triển khai, đó là một tính năng không thể được triển khai do cách thức hoạt động của mạng IP.

Máy khách sử dụng 192.168.1.1 hoặc 192.168.1.2 làm cổng sẽ không bao giờ gửi một gói IPv4 duy nhất có 192.168.1.1 hoặc 192.168.1.2 trong đó khi gửi các gói tới Internet. Nó sẽ:

  • tham khảo bảng định tuyến của nó cho một điểm đến nhất định
  • thấy rằng có một cổng cho điểm đến này
  • Sử dụng ARP hoặc một mục được lưu trong bộ nhớ cache để giải quyết địa chỉ L2 (địa chỉ MAC Ethernet) cần thiết để đến cổng.

Bước cuối cùng sẽ chỉ có một đích Ethernet: địa chỉ MAC duy nhất của NIC của cổng: tương tự đối với máy khách có cổng 192.168.1.1 hoặc máy khách khác có cổng 192.168.1.2.

Vì vậy, giờ đây mỗi máy khách sẽ gửi một gói đến cổng có địa chỉ nguồn IPv4 của họ, đích IPv4 dự định trong khung Ethernet có cùng địa chỉ MAC Ethernet đích trong cả hai trường hợp. 192.168.1.1/192.168.1.2 nằm ngoài vòng lặp.

Cổng bây giờ nhìn thấy hai gói để định tuyến. Trong mọi trường hợp, các gói này gợi ý nữa nếu chúng đang sử dụng 192.168.1.1 hoặc 192.168.1.2 làm cổng: thông tin không xuất hiện trên dây nên cổng không thể biết được ở bất kỳ đâu. Nếu hệ thống không có thông tin để phân biệt các trường hợp, thì iptables cũng không thể có thông tin không tồn tại này.


Gợi ý cách giải quyết:

Người ta có thể sử dụng một MACVLAN để có một NIC thứ hai có địa chỉ MAC riêng và gán 192.168.1.2/24 cho nó thay vào đó, điều này sẽ làm cho các gói từ máy khách sử dụng 192.168.1.2 làm cổng đến NIC này thay thế. Trường hợp này rất dễ phân biệt với iptables: khác nhau -i NIC lọc.

Nhưng điều này tạo ra vấn đề định tuyến khi có nhiều NIC trong cùng một mạng LAN và yêu cầu:

  • quy tắc định tuyến chính sách nâng cao để giải quyết đúng trường hợp này

    vì vậy các câu trả lời không được gửi qua NIC sai có thể ảnh hưởng đến hành vi định tuyến hoặc quy tắc tường lửa.

    • và ngoài ra, bất kỳ dịch vụ UDP nào được truy vấn trên 192.168.1.2 (nếu 192.168.1.1 là mặc định), phải biết cách trả lời bằng địa chỉ nguồn chính xác 192.168.1.2 (thay vì 192.168.1.1 mặc định): phải là multi-homed nhận thức. TCP không yêu cầu chăm sóc đặc biệt.
  • hoặc một không gian tên mạng bổ sung để phân tách giao diện được thêm vào. Nhưng với quy tắc REDIRECT, điều đó có nghĩa là dịch vụ trên cổng 9992 phải chạy trong không gian tên mạng bổ sung.Và không gian tên mạng này có thể vẫn phải giao tiếp với Internet bằng cách sử dụng không gian tên mạng ban đầu: cũng có nhiều cấu hình hơn để lập kế hoạch ở những nơi khác nhau.

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