1. 设备:树莓派B+自带一个有线网卡和4个USB接口,USB接一个8192C芯片的EDUP无线网卡和一个8152B芯片的有线网卡
2. 连接:
3. 设置(可参考第3篇):
eth0连接外网网线,静态IP或者动态IP,作为出口。
wlan0设置静态IP192.168.0.1,netmask255.255.255.0,用hostapd启动一个AP。
eth1设置静态IP192.168.1.1,netmask255.255.255.0。
用dnsmasq监听wlan0和eth1,启动DHCP服务。分别动态分配192.168.0网段的IP和192.168.1网段的IP。
iptables设置转发:iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/16 -j MASQUERADE。
系统开启转发:echo 1 > /proc/sys/net/ipv4/ip_forward
以上设置均开机启动,利用systemctl,enable一些service
附:设置树莓派静态IP的开机自启动
vi /etc/conf.d/network-link@eh0
address=192.168.137.2
netmask=24
broadcast=192.168.137.255
gateway=192.168.137.1
[Unit]
Description=Eth network connectivity (%i)
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device
[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=/etc/conf.d/network-link@%i
ExecStart=/usr/bin/ip link set dev %i up
ExecStart=/usr/bin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev %i
ExecStart=/usr/bin/ip route add default via ${gateway}
ExecStop=/usr/bin/ip addr flush dev %i
ExecStop=/usr/bin/ip link set dev %i down
[Install]
WantedBy=multi-user.target
另外,如果用电脑主机的网络来共享给树莓派,不管是通过有线方式还是无线方式都可以。通过有线方式,则需要用网线直连电脑主机和树莓派。电脑主机的一个网卡连接互联网,然后共享该网给另外一个网卡,另外一个网卡IP设为192.168.137.1(windows设置共享时一般用这个IP),树莓派的IP设置为192.168.137.2(netmask, gateway, broadcast都设置好)就可以上网了。
如果想通过电脑主机将端口映射到树莓派的某个端口,可以使用:
netsh interface portproxy add v4tov4 listenaddress=192.168.137.1 listenport=14941 connectaddress=192.168.137.2 connectport=1494
取消端口转发:netsh interface portproxy delete v4tov4 listenaddress=192.168.137.1 listenport=14941
查看电脑主机转发了哪些端口:netsh interface portproxy show v4tov4