Ubuntu IP Forwarding
Nov 5
2007
สมมุติว่าเราต้องการใช้ Ubuntu เป็น gateway ในการเชื่อมต่ออุปกรณ์ออก Internet ดังภาพข้างล่าง

ในที่นี้สมมุติอีกเช่นกันว่า เราสามารถทำให้ Ubuntu เชื่อมต่อ Internet ผ่าน interface ppp0 ได้แล้ว (สำหรับผู้เขียนใช้ bluetooth ผ่าน Sony Ericsson K550i) ดังนั้นขั้นตอนที่เหลือคือ ทำให้ X device ของเราสามารถเชื่อมต่อ Internet ได้โดยใช้ Ubuntu เป็น gateway
ขั้นตอน
1. ตรวจสอบก่อนว่า IP Forwarding ได้ถูก enabled ไว้แล้วหรือยัง
sysctl net.ipv4.ip_forward ถ้าได้ net.ipv4.ip_forward=0 (หรือจะใช้คำสั่ง cat /proc/sys/net/ipv4/ip_forward ก็ได้) หมายถึงยังไม่ได้ enabled
2. Enable IP Forwarding
sudo sysctl -w net.ipv4.ip_forward=1 หรือ echo 1 > /proc/sys/net/ipv4/ip_forward จากนั้น restart process ด้วยคำสั่ง /etc/ini.d/procps.sh restart
แต่ถ้าต้องการเปลี่ยนค่าถาวร ไปเพิ่ม net.ipv4.ip_forward=1 ลงใน /etc/sysctl.conf เมื่อเปิดเครื่องคราวหน้าจะได้ไม่ต้องทำซ้ำๆ อีก
3. ทำ NAT ซึ่งเป็นขั้นตอนสุดท้าย ใช้คำสั่ง iptables ในการทำ address translation ผ่าน interface ppp0
sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
หากต้องการให้เปิดเครื่องใช้งานได้เลยก็เพิ่มคำสั่งข้างบนใน /etc/rc.local (ไม่ต้อง sudo นะ)
โดยสามารถตรวจสอบก่อนและหลังทำคำสั่งข้างบน ด้วย sudo iptables -L -t nat จะแสดงเห็นความแตกต่าง
เท่านี้ก็ทดลองใช้งานได้เลย เย้!
อ้างอิง: How to enable IP Forwarding in Linux







0