Toybrick

中文 / EN
Toybrick Wiki教程 TB-RK1808S0 Linux系统配置计算棒网络共享
Linux系统配置计算棒网络共享

RK1808人工智能计算棒可以通过配置Linux上位机的NAT功能和桥接功能进行网络共享,实现计算棒联网,推荐使用NAT。

Linux系统配置NAT功能

1、若上位机使用Fedora系统

1.1 打开“Preferences”->“Network Connections”,Ubuntu系统打开“Settings”->“Network Connections”,“Wired connection 1”是本地网卡链接,“Wired connection 2”是RK1808人工智能计算棒网卡链接,选择“Wired connection 2”,点击“配置”如下图中所示。

1.png

1.2 进入“Wired connection 2”配置界面,选择“IPv4 Settings”,连接方式选择“Manual”模式,点击“Add”,输入Address和Netmask,如下图中5所示。点击“Save”,保存退出。

1.png

2. 若上位机使用Ubuntu系统

2.1 运行ifconfig,可以看到eno1为本地网卡,用于访问外网,enp0s20u12u2i1为USB网卡(RK1808人工智能计算棒虚拟网卡)。不同的系统网卡名称可能不一样,以实际网卡名称为准。

1.png

2.2 命令行方式,执行如下命令,其中enp0s20u12u2i1需要修改成用户本地实际值;正常情况只要设置一次即可,若拔插设备发现网卡名称改变了或者用户手动删除该网卡,则需要重新设置。

sudo nmcli connection add con-name toybrick type ethernet ifname enp0s20u12u2i1 autoconnect yes ip4 192.168.180.1/24

3、配置NAT功能,执行如下命令,其中eno1需要修改成用户本地实际值;关机失效,所以每次电脑重启都要重新设置。

sudo sysctl   -w net.ipv4.ip_forward=1
sudo iptables -F
sudo iptables -t nat -F
sudo  iptables  -t  nat  -A POSTROUTING -o eno1 -j MASQUERADE

Linux系统配置桥接功能(配套dhcp使用)

1、创建配置脚本bridge-setup.sh,内容如下:

#!/bin/bash
 
if [ $# -lt 2 ]; then
    echo "Invalid argument"
    exit 0
fi

count=`nmcli con show | awk '$(NF-1)=="bridge"' | wc -l`
for i in $(seq 1 $count)
do
    uuid=`nmcli con show | awk '$(NF-1)=="bridge"' | awk '{print $(NF-2)}'`
    sudo nmcli con del $uuid
    sleep 1
done

count=`nmcli con show | awk '$(NF-1)=="802-3-ethernet" || $(NF-1)=="ethernet"' | wc -l`
for i in $(seq 1 $count)
do
    uuid=`nmcli con show | awk '$(NF-1)=="802-3-ethernet" || $(NF-1)=="ethernet"' | awk 'NR==1{print $(NF-2)}'`
    sudo nmcli con del $uuid
    sleep 1
done

nmcli con add con-name br0 type bridge ifname br0 -- ipv4.routes 192.168.180.0/24 ipv4.method auto bridge.stp no
#nmcli con add con-name $1 type bridge-slave ifname $1 master br0
#nmcli con add con-name $2 type bridge-slave ifname $2 master br0
for var in $@
do
    nmcli con add con-name $var type bridge-slave ifname $var master br0
done
nmcli con up br0
ip addr add 192.168.180.1/24 dev br0

2、创建清除脚本bridge-clean.sh,内容如下:

#!/bin/bash
 
if [ $# -ne 2 ]; then
    echo "Invalid argument"
    exit 0
fi

count=`nmcli con show | awk '$(NF-1)=="bridge"' | wc -l`
for i in $(seq 1 $count)
do
    uuid=`nmcli con show | awk '$(NF-1)=="bridge"' | awk '{print $(NF-2)}'`
    nmcli con del $uuid
    sleep 1
done

count=`nmcli con show | awk '$(NF-1)=="802-3-ethernet" || $(NF-1)=="ethernet"' | wc -l`
for i in $(seq 1 $count)
do
    uuid=`nmcli con show | awk '$(NF-1)=="802-3-ethernet" || $(NF-1)=="ethernet"' | awk 'NR==1{print $(NF-2)}'`
    nmcli con del $uuid
    sleep 1
done

nmcli con add con-name $1 type ethernet ifname $1
nmcli con up $1
nmcli con add con-name $2 type ethernet ifname $2 ipv4.addr 192.168.180.1/24 ipv4.method manual
nmcli con up $2

3、以Ubuntu系统为例,eno1为本地网卡,用于访问外网。enp0s20u12u2i1为USB网卡(RK1808人工智能计算棒虚拟网卡)。不同的系统网卡名称可能不一样,以实际网卡名称为准。

1.png

4、配置桥接功能,执行如下命令:

sudo ./bridge-setup.sh eno1 enp0s20u12u2i1

如果存在多个USB网卡的情况下,可以根据实际需要把USB网卡名称作为参数进行桥接功能配置。

5、清除桥接功能,执行如下命令:

sudo ./bridge-clean.sh eno1 enp0s20u12u2i1


注意事项:计算棒在DHCP模式下,如果出现获取地址异常,请执行

sudo rm /var/lib/dhclient/dhclient.leases

删除记录,然后重启计算棒。










产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


返回顶部