Điểm:0

chuyển tiếp nftables từ wlan0 sang eth0, nhưng không có gì xảy ra

lá cờ cn

Tôi có Raspberry Pi được kết nối với bộ định tuyến không dây bằng wlan0 và có một máy chủ được kết nối với eth0. Cả hai kết nối này đều hoạt động tốt.

Eth0 giữa Pi và máy chủ được định cấu hình tĩnh sao cho eth0 của Pi có IP 192.168.3.23/24 và máy chủ có IP 192.168.3.200/24. Wlan0 của Pi có IP là 192.168.1.131/24.

Bây giờ, tôi đang cố gắng chuyển tiếp để khi kết nối cổng 88 của Pi, nó sẽ chuyển tiếp đến máy chủ phía sau nó. Tôi đã bật tính năng chuyển tiếp theo hệ thống -a | tiến về phía trước:

net.ipv4.conf.all.bc_forwarding = 0
net.ipv4.conf.all.chuyển tiếp = 1
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.default.bc_forwarding = 0
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.eth0.bc_forwarding = 0
net.ipv4.conf.eth0.chuyển tiếp = 1
net.ipv4.conf.eth0.mc_forwarding = 0
net.ipv4.conf.lo.bc_forwarding = 0
net.ipv4.conf.lo.chuyển tiếp = 1
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.wlan0.bc_forwarding = 0
net.ipv4.conf.wlan0.chuyển tiếp = 1
net.ipv4.conf.wlan0.mc_forwarding = 0
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_update_priority = 1
net.ipv4.ip_forward_use_pmtu = 0

tôi cũng có nftables cấu hình như vậy:

bảng ip nat {
        định tuyến trước chuỗi {
                gõ nat hook prerouting ưu tiên dstnat; chính sách chấp nhận;
                tcp dport { 88, 443 } dnat thành 192.168.3.200
        }

        chuyển tiếp chuỗi {
                gõ nat hook postrouting ưu tiên srcnat; chính sách chấp nhận;
        }
}

AFAIK điều này sẽ chuyển tiếp các cổng TCP 88 và 443 tới máy chủ tại 192.168.3.200, nhưng không có gì xảy ra. Nếu tôi làm cuộn tròn http://192.168.1.131:88, yêu cầu chỉ bị treo vô thời hạn. Tuy nhiên, quy tắc nftables đang làm điều gì đó, bởi vì nếu tôi xóa bộ quy tắc, các yêu cầu sẽ bị từ chối ngay lập tức.

Am i thiếu cái gì ở đây?

Điểm:3
lá cờ cz

Your NAT rules fail to specify the interface where packets come in (for DNAT or go out (for SNAT) thus they are applying to all routed traffic in both directions, which is not what you want.

You at least need to specify the incoming interface for DNAT to work properly. For example:

                iif wlan0 tcp dport { 88, 443 } dnat to 192.168.3.200

You're missing the outbound masquerade rule entirely from your postrouting chain. For example:

                oif wlan0 masquerade
Điểm:1
lá cờ ar

Với NAT đích, chỉ có đích được viết lại. Nguồn không bị ảnh hưởng, vì vậy bất kỳ gói nào đến máy chủ sẽ có nguồn ở 192.168.1.0/24.

Máy chủ của bạn có thể không có tuyến đường để đến 192.168.1.0/24; nó chỉ có một tuyến đường để đạt 192.168.3.0/24. Vì vậy, nó giơ tay và vứt bỏ gói hàng.

Bạn có hai cách để giải quyết vấn đề này:

  1. Đặt thiết bị 192.168.3.23 làm cổng mặc định trên máy chủ và áp dụng cài đặt tường lửa thích hợp.
  2. Cũng sử dụng NAT nguồn và viết lại cả nguồn và đích của các gói được chuyển tiếp.

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