Ðề: Raspberry pi toàn tập từ A-Z
Control Panel -> Network and Internet -> Network Connections
Double click lên Internet icon -> Cuộn xuống, double click "Internet protocol version 4"
Use the following IP address
- IP address: 192.168.0.1 (hay 169.254.1.1)
- Subnet mask: 255.255.255.0
OK
Trong cmdline.txt thêm
ip=192.168.0.10 (hay ip=169.254.1.10). Nói chung dùng dãy IP 192.168.x.x hay 169.254.x.x, IP trong máy tính và trong cmdline.txt cùng dãy IP và khác nhau.
Sau khi cài đặt được IP tĩnh cho rPI thì xóa cách cài đặt IP tạm này đi (cả trên máy tính và cmdline.txt)
Đặt IP tĩnh cho rPI
Trên máy tính, mở cửa sổ cmd, gõ lệnh ipconfig, xem IP Address và Default Gateway
Chọn một IP tĩnh cho rPI sao cho không trùng với các IP đã dùng trong mạng
Trên rPI, sửa file interfaces
Mã:
nano /etc/network/interfaces
ghi nội dung sau đây
Mã:
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet static
address *IP*tĩnh*cho*rPI*
netmask 255.255.255.0
gateway *Default*Gateway*
Đặt IP tĩnh cho LAN và WiFi của rPI
Thông số để cài đặt:
- IP tĩnh cho LAN của rPI (thí dụ: 192.168.1.100)
- LAN Gateway (thí dụ: 192.168.1.1)
- Wifi Gateway (thì dụ: 192.168.2.1)
- ID của USB Wifi (dùng lệnh lsusb để xem)
- ID của USB 3G (dùng lệnh lsusb để xem)
Trong Windows, gõ ipconfig để xem IP address v4 có dạng gì và chọn IP tĩnh của rPI thuộc dạng này (thí dụ 192.168.1.100). Ghi nhớ LAN Gateway (thí dụ 192.168.1.1)
Chọn Wifi gateway thuộc lớp mạng con, thí dụ 192.168.2.1
Dùng các thông số trên để cài đặt rPI như access point (hostapd + udhcpd hay hostapd + isc-dhcp-sever).
Các tình huống sau đây có thể xảy ra cho rPI
- Cắm dây LAN (mạng LAN)
- Cắm USB 3G (mạng WAN)
- Cắm USB Wifi (mạng LAN)
- Cắm dây LAN + USB Wifi (access point)
- Cắm USB 3G + USB Wifi (access point)
Giả định đã cài đặt rPI chạy đúng trong mỗi trường hợp trên, file autonet.sh sau đây giúp cấu hình mạng cho rPI tùy theo thiết bị mạng được cắm vào (các canh lề đầu dòng có thể không đẹp nhưng không nên sửa vì có thể sai cú pháp here doc)
Mã:
#!/bin/bash
### BEGIN INIT INFO
# Provides: autonet
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Auto config network
# Description: LNT <[email protected]>
### END INIT INFO
#IP of RPI
ADDR=[COLOR="#FF0000"]*IP*Tĩnh*của*rPI*[/COLOR]
#Netmask
NMSK="255.255.255.0"
#Gateway
GWAY=[COLOR="#FF0000"]*LAN*Gateway*[/COLOR]
#Wifi Gateway
APADDR=[COLOR="#FF0000"]*WIFI*Gateway*[/COLOR]
IDWIFI=[COLOR="#FF0000"]*ID*USB*WIFI*[/COLOR]
ID3G=[COLOR="#FF0000"]*ID*USB*3G*[/COLOR]
LSUSB=`lsusb`
LAN=`cat /sys/class/net/eth0/carrier|sed -e 's/^ *//g' -e 's/ *$//g'`
WIFI=`echo $LSUSB|grep -c $IDWIFI`
USB3G=`echo $LSUSB|grep -c $ID3G`
#LAN
if [ $LAN -ne 0 ]; then
cat > /etc/network/interfaces <<EOF
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet static
address $ADDR
netmask $NMSK
gateway $GWAY
EOF
#Wifi
if [ $WIFI -ne 0 ]; then
cat >> /etc/network/interfaces <<EOF
iface wlan0 inet static
address $APADDR
netmask $NMSK
up iptables-restore < /etc/iptables.ipv4.nat
EOF
fi
#noLAN
elif [ $USB3G -ne 0 ]; then
#Wifi
if [ $WIFI -ne 0 ]; then
cat > /etc/network/interfaces <<EOF
iface wlan0 inet static
address $APADDR
netmask $NMSK
up iptables-restore < /etc/iptables.ipv4.nat
EOF
fi
else
#Wifi
if [ $WIFI -ne 0 ]; then
cat > /etc/network/interfaces <<EOF
auto lo
iface lo inet loopback
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet static
address $ADDR
netmask $NMSK
gateway $GWAY
EOF
fi
fi
sleep 1
if [[ $NET -ne 0 ]]; then
ifdown eth0 && ifup eth0
fi
if [[ $USB3G -ne 0 ]]; then
if [[ $NET -eq 0 ]]; then
/etc/init.d/auto3g.sh start
fi
fi
if [[ $WIFI -ne 0 ]]; then
ifdown wlan0 && ifup wlan0
fi