Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Pengaturan Titik Akses Wi-Fi untuk OpenThread Border Router

Titik akses (AP) Wi-Fi menghubungkan jaringan Thread ke internet.

Raspberry Pi (RPi) yang berfungsi sebagai OpenThread Border Router (OTBR) juga dapat berfungsi sebagai Soft Access Point (SoftAP). SoftAP ini bertindak sebagai server DHCP untuk menetapkan alamat IPv4 ke RPi dan perangkat apa pun yang digunakan sebagai Komisaris Eksternal.

BeagleBone Black tidak memiliki dukungan Wi-Fi internal, dan tidak dapat digunakan sebagai Titik Akses Wi-Fi.

Semua konfigurasi dan perintah terminal terjadi pada RPi yang menjalankan OTBR. Lihat Bangun dan Konfigurasi untuk informasi lebih lanjut.

RPi harus terhubung ke internet melalui Ethernet (antarmuka eth0 , seperti yang ditampilkan dalam output perintah ifconfig ) agar berhasil berfungsi sebagai SoftAP.

Jika Anda menjalankan skrip penyiapan OTBR tanpa menonaktifkan NETWORK_MANAGER , seperti yang dijelaskan dalam Pembuatan dan Konfigurasi , AP Wi-Fi telah dikonfigurasi. Lewati ke Menggunakan Manajer Jaringan untuk informasi lebih lanjut.

Instal paket

Tiga paket diperlukan:

  • hostapd - Memungkinkan penggunaan radio Wi-Fi internal perangkat sebagai AP
  • dnsmasq - DHCP gabungan dan server DNS
  • tayga - NAT64 tanpa kewarganegaraan
sudo apt-get install hostapd dnsmasq tayga

Konfigurasikan alamat IPv4 statis

Dalam versi Raspbian yang lebih baru, konfigurasi antarmuka ditangani oleh dhcpcd secara default. Nonaktifkan dhcpcd untuk antarmuka dan konfigurasikan alamat IPv4 statis secara manual untuk SoftAP.

  1. Perbarui dhcpcd untuk mengabaikan antarmuka wlan0 (Wi-Fi):
    1. Buka file konfigurasi dhcpcd :
      sudo vim /etc/dhcpcd.conf
    2. Tambahkan baris berikut di akhir file:
      denyinterfaces wlan0
  2. Konfigurasikan alamat IPv4 statis pada antarmuka wlan0 :
    1. Buat file konfigurasi untuk antarmuka wlan0 :
      sudo vim /etc/network/interfaces.d/wlan0
    2. Tambahkan parameter konfigurasi berikut ke file wlan0 :
      allow-hotplug wlan0
      iface wlan0 inet static
          address 192.168.1.2
          netmask 255.255.255.0
          network 192.168.1.0
          broadcast 192.168.1.255

Konfigurasi hostapd

  1. Buat file konfigurasi hostapd baru:
    sudo vim /etc/hostapd/hostapd.conf
  2. Tambahkan parameter konfigurasi berikut ke hostapd.conf :

    # The Wi-Fi interface configured for static IPv4 addresses
    interface=wlan0
    
    # Use the 802.11 Netlink interface driver
    driver=nl80211
    
    # The user-defined name of the network
    ssid=BorderRouter-AP
    
    # Use the 2.4GHz band
    hw_mode=g
    
    # Use channel 6
    channel=6
    
    # Enable 802.11n
    ieee80211n=1
    
    # Enable WMM
    wmm_enabled=1
    
    # Enable 40MHz channels with 20ns guard interval
    ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
    
    # Accept all MAC addresses
    macaddr_acl=0
    
    # Use WPA authentication
    auth_algs=1
    
    # Require clients to know the network name
    ignore_broadcast_ssid=0
    
    # Use WPA2
    wpa=2
    
    # Use a pre-shared key
    wpa_key_mgmt=WPA-PSK
    
    # The network passphrase
    wpa_passphrase=12345678
    
    # Use AES, instead of TKIP
    rsn_pairwise=CCMP
    
  3. Tetapkan file konfigurasi baru ini sebagai daemon default:

    1. Buka file konfigurasi default:
      sudo vim /etc/default/hostapd
    2. Aktifkan parameter DAEMON_CONF dan arahkan ke file konfigurasi hostapd baru:
      DAEMON_CONF="/etc/hostapd/hostapd.conf"
  4. Bootstrap daemon hostapd secara otomatis saat reboot:

    1. Buka kedok dan mulai hostapd secara manual jika tertutup:
      sudo systemctl unmask hostapd
      sudo systemctl start hostapd
    2. Buat file konfigurasi layanan untuk hostapd :
      sudo vim /etc/systemd/system/hostapd.service
    3. Tambahkan parameter konfigurasi berikut ke hostapd.service :

      [Unit]
      Description=Hostapd IEEE 802.11 Access Point
      After=sys-subsystem-net-devices-wlan0.device
      BindsTo=sys-subsystem-net-devices-wlan0.device
      
      [Service]
      Type=forking
      PIDFile=/var/run/hostapd.pid
      ExecStart=/usr/sbin/hostapd -B /etc/hostapd/hostapd.conf -P /var/run/hostapd.pid
      
      [Install]
      WantedBy=multi-user.target
      
    4. Buka file /etc/rc.local :

      sudo vim /etc/rc.local

    5. Tambahkan yang berikut ini di akhir file, sebelum garis exit 0 :

      sudo service hostapd start

Verifikasi titik akses

Setelah hostapd dikonfigurasi, SoftAP harus hidup (meskipun tanpa konektivitas internet).

Untuk memverifikasi, reboot RPi:

sudo reboot

Setelah reboot, periksa jaringan nirkabel di perangkat lain. Anda harus melihat BorderRouter-AP SSID.

Konfigurasi dnsmasq

  1. Untuk kemudahan konfigurasi, jika file konfigurasi dnsmasq default sudah ada di sistem Anda, pindahkan dan buat yang baru:
    sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
    sudo vim /etc/dnsmasq.conf
  2. Tambahkan parameter konfigurasi berikut ke dnsmasq.conf :

    # The Wi-Fi interface configured for static IPv4 addresses
    interface=wlan0
    
    # Explicitly specify the address to listen on
    listen-address=192.168.1.2
    
    # Bind to the interface to make sure we aren't sending things elsewhere
    bind-interfaces
    
    # Forward DNS requests to the Google DNS
    server=8.8.8.8
    
    # Don't forward short names
    domain-needed
    
    # Never forward addresses in non-routed address spaces
    bogus-priv
    
    # Assign IP addresses between 192.168.1.50 and 192.168.1.150 with a 12 hour lease time
    dhcp-range=192.168.1.50,192.168.1.150,12h
    
  3. Layanan bind9 mungkin konflik dengan dnsmasq selama start up. Untuk memastikan tidak ada konflik, perbarui layanan bind9 agar tidak dimulai hingga dnsmasq dimulai. Buka /lib/systemd/system/bind9.service berkas:

    sudo vim /lib/systemd/system/bind9.service

  4. Ubah parameter After sehingga bind9 dimulai setelah dnsmasq :

    "After=network.target dnsmasq.service"

Konfigurasi NAT

Network Address Translation (NAT) adalah metode menerjemahkan alamat IP saat paket sedang dalam perjalanan. NAT64 menerjemahkan alamat antara IPv6 dan IPv4.

OTBR menggunakan tayga untuk stateless NAT64, iptables untuk stateful NAT44, dan menggabungkan keduanya untuk menghasilkan NAT64 stateful. Ini memungkinkan perangkat Thread untuk berkomunikasi dengan host IPv4. Lihat dokumentasi Tayga untuk informasi lebih lanjut.

Konfigurasi tayga

  1. Buat konfigurasi:
    1. Buka /etc/tayga.conf berkas:
      sudo vim /etc/tayga.conf
    2. Perbarui file dengan konfigurasi berikut:
      prefix 64:ff9b::/96
      dynamic-pool 192.168.255.0/24
      ipv6-addr 2001:db8:1::1
      ipv4-addr 192.168.255.1
      
  2. Aktifkan tayga :
    1. Buka file /etc/default/tayga :
      sudo vim /etc/default/tayga
    2. Ubah parameter RUN menjadi yes :
      RUN="yes"

Dalam konfigurasi ini, ipv6-addr bersifat opsional. Jika ipv6-addr tidak ditentukan, tayga membuatnya untuk Anda dari parameter prefix .

Parameter konfigurasi

Parameter Deskripsi
prefix Karena Tayga menyediakan NAT64 tanpa negara, prefiks /96 atau lebih tinggi diperlukan untuk memetakan semua IPv4 ke IPv6. Parameter ini harus berupa awalan /96 tidak digunakan dari rentang alamat IPv6 Anda. Untuk OTBR, gunakan Awalan Terkenal ( 64:ff9b::/96 ) untuk mengaktifkan terjemahan alamat otomatis.
dynamic-pool Diperlukan untuk Tayga untuk memetakan IPv6 ke IPv4. Setel ke jaringan IPv4.
ipv6-addr Diperlukan untuk Tayga untuk bertindak sebagai router IPv6. Saat menggunakan Awalan Terkenal untuk parameter prefix , alamat ini harus salah satu yang tidak termasuk dalam prefix .
ipv4-addr Diperlukan untuk Tayga untuk bertindak sebagai router IPv4. Alamat ini harus salah satu yang termasuk dalam dynamic-pool .

Aktifkan penerusan

  1. Aktifkan penerusan IPv4 dan IPv6:
    sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
    sudo sh -c "echo 1 > /proc/sys/net/ipv6/conf/all/forwarding"
  2. Untuk memastikan penerusan IPv4 tetap aktif setelah reboot, perbarui juga file konfigurasi sysctl :
    1. Buka file /etc/sysctl.conf :
      sudo vim /etc/sysctl.conf
    2. Hapus tanda komentar pada parameter penerusan IPv4 dan pastikan disetel ke 1:
      net.ipv4.ip_forward=1
  3. Konfigurasi NAT dengan iptables :
    1. Aktifkan NAT 44:
      sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    2. Konfigurasikan FILTER antara antarmuka wlan0 (Wi-Fi) dan eth0 (Ethernet):
      sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
      sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
  4. Terapkan aturan NAT ini secara otomatis saat reboot:
    1. Simpan aturan untuk /etc/iptables.ipv4.nat berkas:
      sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
    2. Open the /etc/rc.local file:
      sudo vim /etc/rc.local
    3. Tambahkan yang berikut ini di akhir file, sebelum garis exit 0 :
      iptables-restore < /etc/iptables.ipv4.nat

Verifikasi konfigurasi

  1. Mulai ulang Raspberry Pi:
    sudo reboot
    Beranda OTBR Web GUI
  2. Setelah reboot, hubungkan perangkat yang berbeda (bukan RPi) ke titik akses Wi-Fi BorderRouter-AP .
  3. Buka jendela browser di perangkat itu dan arahkan ke 192.168.1.2 (alamat IPv4 dikonfigurasi untuk antarmuka wlan0 ). Jika konfigurasi AP berhasil, OTBR Web GUI akan dimuat.

Titik akses Wi-Fi BorderRouter-AP juga harus menyediakan konektivitas internet biasa. Verifikasi dengan mengunjungi atau melakukan ping ke situs web publik mana pun dari perangkat yang terhubung ke titik akses Wi-Fi BorderRouter-AP .

Penyelesaian masalah

Jika titik akses Wi-Fi BorderRouter-AP tidak tersedia, periksa status sistem RPi:

sudo systemctl status

Jika status menunjukkan RPi dalam keadaan terdegradasi , periksa layanan mana yang gagal dimulai:

sudo systemctl --failed

Jika AP disiapkan secara manual dan salah satu layanan OTBR yang diperlukan gagal memulai:

  1. Kembali melalui langkah-langkah konfigurasi di Build and Configuration dan Wi-Fi Access Point Setup dan periksa kesalahan.
  2. Mulai ulang RPi atau gunakan skrip server untuk menghentikan dan memulai ulang layanan OTBR yang diperlukan:
cd ot-br-posix
./script/server NETWORK_MANAGER=0

Menggunakan Manajer Jaringan

Ketika AP secara otomatis diatur selama instalasi, itu dikelola oleh Manajer Jaringan. Skrip penyiapan OTBR menggunakan nilai default yang sama yang dirinci dalam penyiapan manual:

  • SSID = BorderRouter-AP
  • Kata sandi = 12345678

Kontrol Manajer Jaringan menggunakan alat baris perintah nmcli .

Misalnya, untuk menampilkan semua informasi yang terkait dengan AP setelah OTBR aktif dan berjalan:

nmcli -s c show BorderRouter-AP

Untuk informasi lebih lanjut, lihat script OTBR Network Manager / script / _network_manager).