ใด ลินุกซ์- ระบบปฏิบัติการที่ใช้สามารถกำหนดค่าได้ตามความเป็นจริง อินเตอร์เน็ตไร้สาย เราเตอร์ด้วยขั้นตอนง่ายๆ ตัวอย่างเช่นถ้าเราใช้ไฟล์ ราสเบอร์รี่ Pi ด้วยระบบปฏิบัติการ Raspbian (ซึ่งยังคงเป็นระบบปฏิบัติการที่ใช้ Linux) เราสามารถกำหนดค่าให้ใช้อินเทอร์เฟซเครือข่ายที่แตกต่างกันและสร้างเราเตอร์ WiFi ที่มีประสิทธิภาพที่ดีพอสมควร แต่เราต้องคำนึงถึงข้อ จำกัด ของพอร์ตด้วย ในบทช่วยสอนนี้เราจะสอนวิธีกำหนดค่า Raspberry Pi หรือระบบปฏิบัติการที่ใช้ Linux เพื่อทำหน้าที่เป็นเราเตอร์ Wi-Fi
ขั้นตอนเริ่มต้น
สิ่งแรกที่เราต้องทำคือติดตั้งระบบปฏิบัติการบน Raspberry Pi ของเรา ในกรณีของเราเราได้ใช้ Raspbian เวอร์ชันล่าสุดแม้ว่าระบบอื่น ๆ จะสามารถใช้งานได้ (แม้ว่าคำสั่งอาจแตกต่างกันไป)
เมื่อติดตั้งระบบปฏิบัติการลงใน micro SD แล้วเราจะเรียกใช้เป็นครั้งแรกเพื่อทำการติดตั้งและกำหนดค่าให้เสร็จสมบูรณ์ (ตัวอย่างเช่นในกรณีของ Raspbian ให้ทำการ« Sudo Raspi-Config « พ่อมด ).
เมื่อกำหนดค่าและเมื่ออุปกรณ์ทำงานและเชื่อมต่อกับอินเทอร์เน็ตผ่าน RJ-45 แล้วเราจะอัปเดตแหล่งซอฟต์แวร์แอปพลิเคชันและระบบโดยพิมพ์:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
เมื่อใช้ระบบที่อัปเดตแล้วเราสามารถดำเนินการสอนต่อไปเพื่อกำหนดค่า Raspberry Pi ของเราให้ทำงานเป็นเราเตอร์ได้
ตรวจสอบว่าการ์ด USB Wi-Fi ของเราตรวจพบและทำงานในโหมด AP
สิ่งแรกที่เราจะทำคือตรวจสอบว่าอุปกรณ์ตรวจพบการ์ด ในการทำสิ่งนี้เราพิมพ์:
lsusb
และควรปรากฏในรายการ เมื่อปรากฏขึ้นเราจะดำเนินการคำสั่งอื่นเพื่อตรวจสอบว่าการ์ด Wi-Fi สามารถทำงานในโหมด AP ได้:
iw list
หากผลลัพธ์ที่ปรากฏบนหน้าจอเราสามารถเห็นบรรทัด: โหมด: AP แสดงว่าการ์ดนั้นรองรับการกำหนดค่านี้มิฉะนั้นเราจะต้องมองหาการ์ดอื่นที่ชิปเซ็ตอนุญาตให้กำหนดค่าเป็นจุดเชื่อมต่อหรือ AP.
ติดตั้งซอฟต์แวร์ที่จำเป็นและการอ้างอิง
ซอฟต์แวร์ที่จำเป็นส่วนใหญ่ได้รับการติดตั้งโดยค่าเริ่มต้นใน Raspbian แม้ว่าสิ่งเดียวที่อาจทำให้เรามีปัญหาคือเซิร์ฟเวอร์ DHCP และบริการสร้างจุดเชื่อมต่อซึ่งเราสามารถติดตั้งได้ด้วยตนเอง (หากไม่มี) โดยพิมพ์:
sudo apt-get install isc-dhcp-server hostapd
เมื่อถึงจุดนี้เราสามารถรีสตาร์ท Raspberry ของเราเพื่อเริ่มต้นด้วยการกำหนดค่า
การตั้งค่า
การกำหนดค่าทั้งหมดทำจากเทอร์มินัลในโหมดข้อความ เราจะใช้ตัวแก้ไขนาโนและก่อนที่จะแก้ไขไฟล์เราจะสร้างสำเนาขึ้นมาเพื่อที่ว่าหากเกิดข้อผิดพลาดขึ้นเราสามารถกู้คืนได้
กำหนดค่าเซิร์ฟเวอร์ DHCP
สิ่งแรกที่เราจะกำหนดค่าคือเซิร์ฟเวอร์ DHCP สำหรับสิ่งนี้เราจะแก้ไขไฟล์ต่อไปนี้:
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.orig
sudo nano /etc/dhcp/dhcpd.conf
ในไฟล์นี้เราต้องมองหาชุดของบรรทัด สิ่งต่อไปนี้เป็นค่าเริ่มต้นโดยไม่ต้องแสดงความคิดเห็นเราจะแสดงความคิดเห็นโดยมี # ข้างหน้าเพื่อไม่ให้เปิดใช้งานอีกต่อไปและเป็นดังนี้:
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;
เราจะมองหาองค์ประกอบ #authoritative; ซึ่งโดยค่าเริ่มต้นจะแสดงความคิดเห็นและเราไม่ใส่ความคิดเห็นเพื่อเปิดใช้งานโดยปล่อยให้
authoritative;
เพื่อเสร็จสิ้นเราจะกำหนดค่าเครือข่ายที่เซิร์ฟเวอร์ DHCP จะทำงาน (ในตัวอย่างของเราในเครือข่าย 192.168.2.0) สำหรับสิ่งนี้เราไปที่ส่วนท้ายของเอกสารและเพิ่ม:
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.2 192.168.2.30;
option broadcast-address 192.168.2.255;
option routers 192.168.2.1;
default-lease-time 600;
max-lease-time 7200;
option domain-name "local";
option domain-name-servers 8.8.8.8, 8.8.4.4;
}
เราบันทึกการเปลี่ยนแปลงและปิดไฟล์
เราจะเปิดไฟล์กำหนดค่าเซิร์ฟเวอร์ใหม่โดยพิมพ์:
sudo cp /etc/default/isc-dhcp-server /etc/default/isc-dhcp-server.orig
sudo nano /etc/default/isc-dhcp-server
ในเอกสารนี้เราจะดู (ในตอนท้าย) สำหรับบรรทัด INTERFACES = »»และเปลี่ยนเป็น:
INTERFACES="wlan0"
เซิร์ฟเวอร์ DHCP ถูกกำหนดค่าไว้แล้ว เราดำเนินการสอนต่อ
กำหนดค่าการเชื่อมต่อ WLAN และอีเธอร์เน็ต
สิ่งแรกที่เราจะทำคือถอดการ์ด Wi-Fi ในการทำสิ่งนี้เราพิมพ์:
sudo ifdown wlan0
ต่อไปเราจะเปิดไฟล์«อินเทอร์เฟซ»:
sudo cp /etc/network/interfaces /etc/network/interfaces.orig
sudo nano /etc/network/interfaces
และเราจะกำหนดค่าดังต่อไปนี้:
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.2.1
netmask 255.255.255.0
เราแสดงความคิดเห็นหรือลบบรรทัดอื่น ๆ เราบันทึกการเปลี่ยนแปลงและปิดเอกสาร หากต้องการใช้การเปลี่ยนแปลงในขณะนี้เราต้องพิมพ์:
sudo ifconfig wlan0 192.168.2.1
กำหนดค่าจุดเชื่อมต่อ
อีกครั้งเราจะแก้ไขไฟล์อื่นโดยพิมพ์:
sudo cp /etc/hostapd/hostapd.conf /etc/hostapd/hostapd.conf.orig
sudo nano /etc/hostapd/hostapd.conf
และในไฟล์นี้เราจะลบสิ่งที่มีอยู่ (ถ้ามี) และวาง:
interface=wlan0
ssid=RaspiAP
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
เราสามารถเปลี่ยนทั้ง SSID ด้วยชื่อที่เราต้องการตั้งให้กับเครือข่ายของเราและช่องในช่องและ wpa_passphrase ด้วยรหัสผ่านเป็นข้อความธรรมดาที่เราต้องการใช้เชื่อมต่อ
เพื่อเสร็จสิ้นด้วยการกำหนดค่าเราเปิดไฟล์การกำหนดค่าใหม่โดยพิมพ์:
sudo cp /etc/default/hostapd /etc/default/hostapd.orig
sudo nano /etc/default/hostapd
เรายกเลิกการแสดงความคิดเห็นและเปลี่ยนบรรทัด # DAEMON_CONF = »»โดย:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
เราบันทึกและปิดไฟล์เพื่อเสร็จสิ้น เกือบเสร็จแล้วเหลือการตั้งค่าเล็กน้อยเพียงเล็กน้อยและกำหนดค่า Raspbian เพื่อให้ทั้งหมดนี้ทำงานเมื่อเริ่มต้นระบบโดยอัตโนมัติ
การตั้งค่าขั้นสุดท้าย
แม้ว่าจุดเชื่อมต่อเราเตอร์ของเราจะได้รับการกำหนดค่าและใช้งานได้แล้ว แต่เราไม่สามารถเชื่อมต่อกับอินเทอร์เน็ตผ่านจุดนี้และการกำหนดค่าจะดำเนินการโดยอัตโนมัติเมื่อเริ่มต้น เพื่อให้ได้ผลเราต้องทำตามขั้นตอนสุดท้ายที่เราระบุไว้ด้านล่าง
กำหนดค่าการส่งต่อแพ็กเก็ต
เพื่อให้ Raspberry Pi ส่งต่อแพ็กเก็ตจากตัวเองไปยังเราเตอร์เพื่อให้สามารถไปยังอินเทอร์เน็ตได้เราต้องกำหนดค่าองค์ประกอบต่อไปนี้:
เราเปิดและแก้ไขไฟล์ sysctl:
sudo cp /etc/sysctl.conf /etc/sysctl.conf.orig
sudo nano /etc/sysctl.conf
ในเอกสารนี้เราจะค้นหาบรรทัด“ # net.ipv4.ip_forward = 1” และเราจะยกเลิกการแสดงความคิดเห็นโดยปล่อยให้:
net.ipv4.ip_forward=1
เราบันทึกและปิดเอกสาร เพื่อให้การเปลี่ยนแปลงมีผลทันทีเราจะพิมพ์:
sudo sysctl -p /etc/sysctl.conf
เราเปิดใช้งาน NAT โดยพิมพ์:
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
และเราบันทึกกฎ iptables เพื่อให้การเปลี่ยนแปลงยังคงมีอยู่ (เราติดตั้งแพ็คเกจต่อไปนี้: sudo apt-get install iptables-persistent และเราทำตามวิซาร์ด)
กำหนดค่าการเริ่มอัตโนมัติ
เพื่อให้จุดเชื่อมต่อและเซิร์ฟเวอร์ DHCP เริ่มต้นโดยอัตโนมัติกับอุปกรณ์ของเราเราต้องระบุสิ่งนี้โดยเฉพาะและเปิดใช้งานบริการเพื่อเปิดใช้งานร่วมกับ Raspbian ในการดำเนินการนี้จากเทอร์มินัลเราพิมพ์:
sudo update-rc.d hostapd enable
sudo update-rc.d isc-dhcp-server enable
การตั้งค่าล่าสุด
ก่อนที่จะเสร็จสิ้นมีไฟล์ WPAsupplicant ที่อาจทำให้เกิดปัญหาในบางโอกาสดังนั้นเพื่อให้แน่ใจว่าสิ่งนี้จะไม่เกิดขึ้นเราจึงย้ายไฟล์ไปยังเส้นทางที่ปลอดภัยโดยพิมพ์:
sudo mv /usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service /home/pi
Raspberry Pi ของเราทำงานเป็นเราเตอร์ Wi-Fi อยู่แล้ว
เมื่อเรามาถึงจุดนี้แล้วเราสามารถรีสตาร์ท Raspberry Pi ได้ เมื่อรีบูตเครื่องจะสร้างจุดเชื่อมต่อโดยอัตโนมัติกำหนดที่อยู่ IP ให้กับโฮสต์ที่เชื่อมต่อและกำหนดเส้นทางการรับส่งข้อมูลทั้งหมดจากการ์ด Wi-Fi ผ่านการ์ดเครือข่ายไปยังเราเตอร์ตราบใดที่เรายังเชื่อมต่ออยู่