tra-loi-cau-hoi-phat-trien-web.com

iptables chuyển tiếp giữa hai giao diện

Vì vậy, tôi có một hộp linux với hai giao diện không dây, một là trạm và một là AP.

wlan0 (trạm) - Đã kết nối với kết nối internet

wlan1 (AP) - Các máy khách khác kết nối với nó.

Tôi muốn các khách hàng được kết nối với wlan1 có thể truy cập internet trên wlan0. Và tôi muốn làm điều này với iptables vì ​​kernel của tôi không có hỗ trợ bắc cầu ...

Đây là những gì tôi đã thử cho đến nay với iptables nhưng nó không hoạt động:

iptables -A FORWARD -i wlan0 -o wlan1 -j ACCEPT
iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT

Tôi đánh giá cao sự giúp đỡ.

29
broody

Trước tiên, để cho phép các máy chủ kết nối trên giao diện riêng của bạn truy cập internet, bạn không cần bắc cầu cho các giao diện, bạn cần định tuyến các gói đến trên một giao diện, đến giao diện khác, nơi chúng đi ra ngoài tự nhiên.

Để làm điều đó, bạn chỉ cần:

  1. Cho phép chuyển tiếp trên hộp linux của bạn:
  2. Cho phép các gói cụ thể (hoặc tất cả của nó) đi qua bộ định tuyến của bạn
  3. Như ai đó đã nói, vì netfilter là một tường lửa không trạng thái, cho phép lưu lượng truy cập cho các kết nối đã được thiết lập
  4. Thay đổi địa chỉ nguồn trên các gói đi ra internet

    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT
    iptables -A FORWARD -i wlan0 -o wlan1 -m state --state ESTABLISHED,RELATED \
             -j ACCEPT
    iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
    

Nên làm vậy.

39
Torian