Quantcast
Channel: Raspberry Pi Thailand » Wireless
Viewing all articles
Browse latest Browse all 10

ใช้ Raspberry Pi ทำ Wi-Fi Access Point ด้วย Pi-Point

$
0
0

เคยได้พูดเกี่ยวกับ Wi-Fi access point (AP) ที่หน้า page โดยการใช้ Pi-Point เลยขอทดลองให้ดูกัน ผมมี D-Link DWA-140 RangeBooster N ซึ่งใช้เป็น AP ได้ มันใช้ชิป Ralink RT3072 ถ้าเป็นเครื่องที่ลง Windows ก็สามารถแจกเน็ตด้วยโปรแกรม Connectify ก็ได้ แต่งานนี้ทดลองกับ Raspbian ครับซึ่งเคย sudo apt-get install firmware-ralink มาก่อนใช้แล้วได้ผลครับ

Raspberry Pi Model B rev2 ใช้งาน D-Link DWA-140 RangeBooster

D-Link DWA-140 RangeBooster ใช้ได้ใน Raspbian

 

แต่คราวนี้เพื่อที่จะทำ AP โดยใช้ image ของ Pi-Point ซึ่งในเอกสารตัวอย่างของงานนี้ใช้ zd1211-firmware แต่เราใช้ตัวอื่นแล้วจะได้ผลไหมก็ต้องทดลองกัน ทำการ download SD card image ซึ่ง บีบอัดแบบ bzip2 สามารถใช้ bunzip2 ขยายไฟล์ข้างในออกมาแล้วจะได้ไฟล์เกือบ 4GB งานคงต้องใช้ SD card ขนาด 4GiB เพื่อทดลองด้วยนะครับ

แก้ไฟล์ใน SD card ซึ่งคงต้องใช้ Linux เป็นตัวแก้ และต้องได้สิทธิ์ root จึงจะแก้ไขได้ (sudo ก็ได้) และตำแหน่ง path ในการ mount ก็แล้วแต่จะกำหนดด้วยครับคงไม่ได้เริ่มที่ / อีกวิธีแก้ไฟล์ก็คือใช้จาก Raspberry Pi ตัวเองมันเลย มันมี SSH มาให้แล้ว (login:pi password:raspberry เหมือนเดิมครับ) หรือจะต่อกับจอและ keyboard ก็ได้ครับ สำหรับ /etc/network/interfaces ในต้นฉบับใน image ที่ให้มาจะเป็น

auto lo

iface lo inet loopback
iface eth0 inet dhcp

iface wlan0 inet static
address 192.168.1.1
netmask 255.255.255.0

ตรง iface eth0 ก็คือ Ethernet บน Raspberry Pi ตั้งให้รับ DHCP จากแหล่งอื่นเหมือนกันครับ ส่วน iface wlan0 ก็คือ Wi-Fi ซึ่งไม่ควรจะตรงกับ network ของ eth0 ที่ให้มาเป็นวง 1 มันซ้ำกับที่ผมใช้งานอยู่ เลยแก้เป็น address 192.168.2.1 จะได้อยู่วง 2 จะได้ไม่ซ้ำครับ ซึ่ง wlan0 จะใช้เป็น pccess point ให้เรา เลยต้องเป็น IP address คงที่ครับ และต้องทำหน้าที่ DHCP server ด้วย

 

ชื่อ SSID แก้ได้ที่ไฟล์ /etc/hostapd/hostapd.conf

interface=wlan0
driver=nl80211
ssid=test
channel=1

โดยที่ให้มาในตอนแรกจะชื่อ test ครับ และ channel ว่าจะใช้ช่องไหนก็แก้ที่ตรงนี้ได้ด้วยเหมือนกัน

 

ที่ไฟล์ /etc/dnsmasq.conf

# Never forward plain names (without a dot or domain part)
domain-needed

# Only listen for DHCP on wlan0
interface=wlan0

# create a domain if you want, comment it out otherwise
#domain=Pi-Point.co.uk

# Create a dhcp range on your /24 wlan0 network with 12 hour lease time
dhcp-range=192.168.1.5,192.168.1.254,255.255.255.0,12h

# Send an empty WPAD option. This may be REQUIRED to get windows 7 to behave.
#dhcp-option=252,"\n"

เนื่องจากเราเปลี่ยนไปใช้วง 2 ต้องแก้ dhcp-range จาก 192.168.1 เป็น 192.168.2 ด้วยนะครับ

 

และที่ไฟล์ /etc/init.d/pipoint

#!/bin/sh
# Configure Wifi Access Point.
#
### BEGIN INIT INFO
# Provides:          WifiAP
# Required-Start:    $remote_fs $syslog $time
# Required-Stop:     $remote_fs $syslog $time
# Should-Start:      $network $named slapd autofs ypbind nscd nslcd
# Should-Stop:       $network $named slapd autofs ypbind nscd nslcd
# Default-Start:     2
# Default-Stop:
# Short-Description: Wifi Access Point configuration
# Description:       Sets forwarding, starts hostap, enables NAT in iptables
### END INIT INFO

# turn on forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# enable NAT
iptables -F
iptables -t nat -A POSTROUTING -j MASQUERADE

# start the access point
hostapd -B /etc/hostapd/hostapd.conf

# restart dhcp
#service dnsmasq restart

จะเห็นว่ามีบรรทัด echo 1 > /proc/sys/net/ipv4/ip_forward และ iptables -t nat -A POSTROUTING -j MASQUERADE มาให้เพื่อให้ค้นหาเส้นทางจาก AP ไปยัง Ethernet ได้ และให้เริ่มทำงานเมื่อตอนบูตขึ้นได้

เมื่อบูตขึ้นมาสักพัก ก็มีชื่อ access point test มาให้เห็นแล้วครับ

พบ access point ที่มาจาก Pi-Point แล้วครับ

เมื่อทดลองเข้าใช้งานก็เข้าไปได้ครับ จากนั้นก็ SSH เข้าไปใช้ Raspberry Pi แล้ว ifconfig ดู จะเห็นว่า eth0 อยู่วง 1 และ wlan0 อยู่วง 2

Pi-Point ได้ผล

 

ทำการ traceroute เพื่อดูว่ามันส่งต่อจาก Wi-Fi ไปดึงข้อมูลจาก Ethernet ซึ่งต่อ Internet ได้ไหม ก็ใช้ได้ครับ อาจมีบางจุดสะดุดเล็กน้อย

traceroute

อันที่จริง อาจต้องหาทางใช้งานแบบ WPA ด้วยละครับเพื่อความปลอดภัย

updated: ถ้าจะใช้แบบเข้ารหัส WPA ก็แก้ไม่ยากครับ ที่ /etc/hostapd/hostapd.conf

interface=wlan0
driver=nl80211
ssid=test
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=mypassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

โดยเปลี่ยนที่อยู่ข้างหลัง ssid= เป็นชื่อ SSID อื่น channel= เป็นช่องอื่นๆ และ wpa_passphrase= เป็นรหัสอื่นๆ ตามต้องการ ทดลองแล้วได้ผลใช้งานได้ครับ

Raspberry Pi AP WPA ทดลอง trace route

route

ถ้าเป็น Wi-Fi dongle ทั่วๆ ไป คงทำเป็น AP ไม่ได้ แต่อาจทำเป็น Ad-hoc ได้ โดยแก้ที่ /etc/network/interfacesเหมือนกันครับ เพิ่มอีก 4 บรรทัดล่าง

iface wlan0 inet static
address 192.168.2.1
netmask 255.255.255.0

wireless-mode ad-hoc
wireless-channel 1
wireless-essid test
auto wlan0

Viewing all articles
Browse latest Browse all 10

Latest Images

Trending Articles


Fucidin แถบสีส้ม กับFucidin H แถบสีแดงดำใช้ได้เหมือนกันมั้ยคะ


หารายได้พิเศษทําที่บ้าน ช่วงเย็น หลังเลิกเรียน หลังเลิกงาน


เรื่อง. Furifure 2 คือนางเอกเป็นหรี่ใช่ป่าว (เมะH)


สร้างกราฟแผนภูมิแท่ง Word 2016 | 2013


งานพับถุงกาแฟมาทําที่บ้าน หารายได้เสริมจากงานฝีมือ งานง่ายๆ ไม่มีค่าใช่จ่าย


เจ้าตาก The Lord of Ayuthaya (2004) English subs


วิธีแก้ปัญหาเมื่อเปิดคอมฯ แล้วขึ้นหน้าต่าง Desktop.ini LocalizedResourceName


วิธีใช้งานโปรแกรม 3uTools พื้นฐาน โหลด firmware, Jailbreak iPhone


Print Area Excel 2013 – 2016 ปริ้นเฉพาะส่วนที่ต้องการ


เทคนิคการกัดงานจาก 3D Model ด้วย ArtCAM แบบง่าย ๆ


บริษัทรับสร้างบ้าน Sampsbuilder (แซมพ์ บิวเดอร์) ขอใบอนุญาตผิดแบบ...


ใครรู้จักบริษัท the singular group บ้างครับ...


“DEAD LIFE”จะเป็นยังไงเมื่อเรากลายเป็นซอมบี้ !! (WEBTOON)


ยกเลิกรหัสผ่าน Windows 7 ตอนเข้าคอมพิวเตอร์


งานฝีมือพับหลอดดาว รับงานทําที่บ้าน อาชีพเสริม รับซื้อร้อยละ 35 บาท


ติดตั้ง YouTube++ แบบไม่ต้องเจลเบรค รองรับ iOS 10.2


จิ่งเถียน เจ้าแม่ซีรี่ย์จีนย้อนยุค-พีเรียด สนุกน่าดูทุกเรื่อง!


วิธีใช้ Excel สรุปตารางการใช้ห้องประชุม


การเขียนแม่ลายพุ่มข้าวบิณฑ์ 3D ด้วย Artcam (ตอนที่ 1)


แจก Brush ฟรี!! สไตล์วาดการ์ตูนมังงะสำหรับใช้ในแอป Procreate





Latest Images