文章目录
1.概述
PC和树莓派在同一局域网下,可以使用putty、vnc等工具远程控制树莓派,前提是需要知道树莓派IP;广域网可使用teamviewer。
2.树莓派和PC在同一个路由器产生的局域网下
查到树莓派IP的办法:1.登录到路由器的后台,查看树莓派的IP;2.使用Network Scanner扫描局域网内的设备;(树莓派的网卡mac地址一般以字母d开头)。
3.树莓派网线直连PC
- 进入PC的CMD,输入
arp -a
可以看到此时PC连上了一个Wifi,分配得到的IP为192.168.0.113。 - 设置WLAN共享属性:设置>>网络和Internet>>WLAN>>更改适配器选项,右键WLAN>>属性>>共享>>勾选允许其他…连接。
- 用网线连接PC和树莓派,再次
arp -a
,此时可以看到树莓派的IP。
树莓派自动分配到了192.168.137.53的IP,此时可以使用vnc连接该IP。如果PC通过wifi连上外网时,树莓派也可以访问外网。
此过程大概就是把PC的有线网卡配置成了AP模式,相当于路由器。树莓派通过网线连接PC,相当于连上了路由器。PC且设置了Internet共享(IP包转发),如果PC通过Wifi连上了外网,树莓派也可以访问外网。
4.树莓派无线网卡开启AP模式。
树莓派也有双网卡,可以将树莓派的无线网卡配置成AP模式,发射Wifi。PC连上该Wifi,就和树莓派在同一局域网下。
4.1开启AP模式
安装hostapd:sudo apt install hostapd
;sudo systemctl stop hostapd
;
修改热点配置文件:sudo nano /etc/hostapd/hostapd.conf
,在文件中添加以下内容:
interface=wlan0
driver=nl80211
ssid=RaspberryWifi
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=wifi密码
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
修改读取配置文件:sudo nano /etc/default/hostapd
,去掉 DAEMON_CONF 的注释,并配置成 /etc/hostapd/hostapd.conf
,如图所示。意思就是告诉 hostapd 要从/etc/hostapd/hostapd.conf 读取配置参数。
取消注销:sudo systemctl unmask hostapd
;
开机自启:sudo systemctl enable hostapd
;
启动:sudo systemctl start hostapd
。
4.2设置DHCP
修改dhcpcd配置文件:sudo nano /etc/dhcpcd.conf
,在文件末尾添加:
interface wlan0
static ip_address=192.168.4.1/24
nohook wpa_supplicant
重启dhcp服务:sudo systemctl restart dhcpcd
;
安装dnsmasq服务:sudo apt install dnsmasq
;sudo systemctl stop dnsmasq
;
修改dnsmasq配置文件:sudo nano /etc/dnsmasq.conf
,把里面的其他内容都注释掉,添加新的配置项:
sudo nano /etc/dnsmasq.conf
interface=wlan0
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h
重启dnsmasq服务:sudo systemctl restart dnsmasq
。
4.3设置IP包转发
修改配置文件开启IP包转发:sudo nano /etc/sysctl.conf
,去掉 net.ipv4.ip_forward=1
这个配置项的注释;
修改Linux防火墙规则:sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
设置开机自动导入防火墙规则:sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
;
修改文件:sudo nano /etc/rc.local
,把 iptables-restore < /etc/iptables.ipv4.nat
加到最后一行 exit 0 的前面;
重启树莓派:sudo reboot
。
5.树莓派由AP模式改为STA模式
- 关闭hostapd服务:
sudo systemctl stop hostapd
; - 注销hostapd服务:
sudo systemctl mask hostapd
; - 打开
sudo nano /etc/dhcpcd.conf
,注释最后面添加的静态IP语句; - 重启dhcp服务,
sudo systemctl restart dhcpcd
。
6.树莓派再次启动AP模式
- 取消注销hostapd服务:
sudo systemctl unmask hostapd
; - 开启hostapd服务:
sudo systemctl start hostapd
; - 打开
sudo nano /etc/dhcpcd.conf
,取消注释添加的静态IP语句; - 重启dhcp服务,
sudo systemctl restart dhcpcd
,如果没有发出来,sudo reboot
。