之前看到树莓派 USB-gadget 网卡的用法,发现国产的开发板配置相对树莓派Zero高得多,拿来做成网络转发的应该很有前途,于是乎就买了最便宜的香橙派(orange pi one)来试试,结果很是顺利,结合以前的研究资料,没多大代价就做了出来,这里跟大家分享一下。
首先去 armbian.com 看看哪些板子支持ARMBIAN系统,再看看板子的图片上有没有usb-otg接口,理论上支持ARMBIAN和有OTG口和网口的板子,都能做成ARM网卡来玩,例如国产开发板香橙派、NANO Pi。
刷入系统跟普通的一样用Win32diskimager或者Etcher都可以,把对应的ARMBIAN系统刷进去TF卡里,然后就插入开机就可以。默认账户密码是root 、1234,进去之后,需要自己修改和设置非root账号密码,这些最好是有HDMI显示器和键盘本机设置。ssh默认开启。
只要往/etc/rc.local文件里面加入这三句启动语句:
modprobe g_ether ifconfig usb0 up ifup usb0
重启后,USB-OTG口就是网络模式了,用手机数据线连接到电脑的USB口,就能识别出USB-RNDIS网络设备了。
安装一下所需要的dhcp软件
sudo apt update sudo apt install dnsmasq isc-dhcp-common
然后修改 /etc/dhcpcd.conf文件,
sudo nano /etc/dhcpcd.conf
在文件末尾添加这两句
interface usb0 static ip_address=192.168.253.1/24
然后再修改 /etc/network/interfaces文件
sudo nano /etc/network/interfaces
添加以下段落(或者修改到跟以下段落一样)
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto usb0 iface usb0 inet static address 192.168.253.1 netmask 255.255.255.0
修改完毕之后,重启dhcp服务
sudo service dhcpcd restart
重启dhcp失败了也不要紧,可以直接重启树莓派。
sudo reboot
重启过后,修改网段配置文件
sudo nano /etc/udhcpd.conf
start 192.168.253.100 #配置网段 end 192.168.253.150 interface usb0 # The device uDHCP listens on. remaining yes opt dns 192.168.1.1 223.5.5.5 opt subnet 255.255.255.0 opt router 192.168.253.1 # 无线lan网段 opt lease 3600 # 租期一小时
之后备份一下文件/etc/dnsmasq.conf
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
然后编辑
sudo nano /etc/dnsmasq.conf
添加一下段落的文件(或者修改到跟以下段落一样)
interface=usb0 bind-interfaces server=180.76.76.76 server=114.114.114.114 server=223.5.5.5 domain-needed bogus-priv dhcp-range=192.168.253.2,192.168.253.254,1h
然后再修改文件dhcp规则文件之一的/etc/sysctl.conf
sudo nano /etc/sysctl.conf
再末尾添加以下内容
# Uncomment the next line toenable packet forwarding for IPv4 net.ipv4.ip_forward=1
添加完毕之后,设置转发规则
sudo iptables -F sudo iptables -X sudo iptables -t nat -APOSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o usb0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i usb0 -o eth0 -j ACCEPT sudo sh -c "iptables-save> /etc/iptables.ipv4.nat"
再往/etc/network/interfaces末尾添加一下内容。
sudo nano /etc/network/interfaces
添加以下语句
up iptables-restore < /etc/iptables.ipv4.nat
然后保存退出
再编辑一下文件
sudo nano /etc/network/if-pre-up.d/iptables
往里面添加以下段落
#!/bin/bash /sbin/iptables-restore < /etc/iptables.ipv4.nat
保存退出之后,设置一下权限
sudo chmod 755 /etc/network/if-pre-up.d/iptables
我们需要新建空文件/lib/dhcpcd/dhcpcd-hooks/70-ipv4-nat
sudo vi /lib/dhcpcd/dhcpcd-hooks/70-ipv4-nat
然后输入 :wq 回车退出
再设置一下转发
sudo iptables-restore < /etc/iptables.ipv4.nat
重启一下dnsmasq服务
sudo service dnsmasq start
然后重启。
到此,香橙派以太网卡就成功了。把USB-OTG接口用一根USB手机数据线,连接到电脑,网口连接到路由器,就可以上网了。速度也测试了一下,迅雷全速下载能到百兆全速,CPU使用率在12%左右,比树莓派+SPI网卡的400Kb/s就占用60%提高极为明显。这东西要是好好设置,应该能做一个不错的防火墙,防止被黑客直接攻击电脑,或者加一点其他东西,例如USB转SATA口、纯SATA口阵列卡、电脑电源、一大堆旧硬盘等,可以做成NAS或者DAS,用捡回来旧硬盘玩这个再爽不过,总之这个玩法,我觉得比较有前途,不知道各位怎么看呢?
来自 Skypikaqiu 的投稿。
发表评论