Access Point (RT5370) on Raspberry Pi
รูปแบบการเชื่อมต่อระบบ Access Point (RT5370) on Raspberry Pi
ขั้นตอนแรกทำการอัพเดทระบบกันก่อน
sudo aptitude update; sudo aptitude -y upgrade
รีสตาร์เครื่องกันก่อนหลังจากอัพเดทระบบกันแล้ว
sudo shutdown -r now
หลังจากนั้นล๊อคอินแล้วเข้า user root แล้วตรวจสอบอุปกรณ์ I/O ว่ามีอะไรเชื่อมต่ออยู่บ้าง
pi@raspberrypi ~ $ sudo su -
root@raspberrypi:~# lsusb
ผลของการใช้คำสั่ง
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
ติดตั้งแพ็คเก็ต hostapd และ dnsmasq
aptitude install hostapd dnsmasq
เข้าแก้ไข network wireless wlano ให้เป็น static IP
nano /etc/network/interfaces
แล้วทำการแก้ไขให้เป็นดังนี้ หรือจาจะเปลี่ยน IP และ netmask เป็นแบบของคุณ
allow-hotplug wlan0 iface wlan0 inet static address 192.168.100.1 netmask 255.255.255.0 #wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet manual
ปิด nano โดย Ctrl+X, กด Y กด Enter
ตรวจสอบ wlan0 interface และ IP ที่ได้ตั้งค่าไว้ก่อนหน้าด้วยสองคำสั่งดังนี้
ifdown wlan0; ifup wlan0
ifconfig wlan0
ผลการตรวจสอบ
wlan0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:192.168.100.1 Bcast:192.168.100.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
สร้างไฟล์ตั้งค่าสำหรับ hostapd ตำแหน่งของไฟล์ /etc/hostapd/hostapd.conf
nano /etc/hostapd/hostapd.conf
แก้ไขตามนี้หรือจะให้เป็นแบบที่คุณต้องการ
interface=wlan0 driver=nl80211 ssid=RaspberryPi_AP hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=Your_fav_super_password wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
แก้ไขไฟล์ /etc/default/hostapd และลบคอมเม้นออก '#' ที่ DAEMON_CONF และเพิ่ม
nano /etc/default/hostapd
ให้เป็นดังรูป
DAEMON_CONF="/etc/hostapd/hostapd.conf"
รีสตาร์ hostapd ด้วย
/etc/init.d/hostapd restart
แล้วต่อด้วยคำสั่ง
update-rc.d hostapd enable
แก้ไข dnsmasq ด้วยคำสั่ง
nano /etc/dnsmasq.conf
interface=wlan0 except-interface=eth0 dhcp-range=192.168.100.2,192.168.100.150,255.255.255.0,12h
รีสตาร์ dnsmasq
/etc/init.d/dnsmasq restart
แล้วตามด้วย
update-rc.d dnsmasq enable
แก้ไขไฟล์
nano /etc/sysctl.conf
แก้ไขโดยการเอา '#' ออก จาก #net.ipv4.ip_forward=1 เป็น
net.ipv4.ip_forward=1
ใช้คำสั่ง
sysctl -p
รันคำสามสั่งเพื่อ forwarding
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
ใช้คำสั่งเพื่อบันทึกไฟล์ไปยัง /etc/iptables.nat
iptables-save > /etc/iptables.nat
สร้างไฟล์ forwarding ใน /etc/network/if-up.d
echo '#!/bin/bash' > /etc/network/if-up.d/forwarding; echo 'iptables-restore < /etc/iptables.nat' >> /etc/network/if-up.d/forwarding; chmod +x /etc/network/if-up.d/forwarding
แก้ไขปัญหาหลังจากรีสตาร์โดยเปลี่ยนไฟล์ /etc/default/ifplugd ให้เป็นดังนี้
nano /etc/default/ifplugd
INTERFACES="eth0" HOTPLUG_INTERFACES="eth0" ARGS="-q -f -u0 -d10 -w -I" SUSPEND_ACTION="stop"
Access Point (RT5370) on Raspberry Pi