Hyper Open Edge Cloud

如何配置 Edgecore 交换机(路由、Re6st、SlapOS)

如何在装有 AOS 的交换机上安装 SlapOS 并让其作为路由器使用
  • Last Update:2020-06-05
  • Version:001
  • Language:zh

在 AOS 下配置交换机

本教程将介绍如何在 AOS 下配置 Edgecore 交换机(如果想在 Edgecore 交换机上安装 AOS,可参考这篇文章  rapidspace-HowTo.Install.AOS.On.Edgecore.Switch )。为了配置交换机,我们需要更新交换机来安装一些软件报。之后还要安装 re6st 和 SlapOS,以便用 ipv6 进行 SSH 连接。最后用交换机完成路由器的工作。

目录

  • 更新和升级交换机
  • 安装 re6st 和 SlapOS
  • 用 ipv6 进行 SSH 连接
  • 让交换机充当路由器

配置交换机的网络访问

为了安装所需软件,交换机需要联网。而为了在交换机上配置网络访问,需要在命令行中通过 minicom 登录交换机:

Username: admin
Password:

      CLI session with the AOS5810-54X is opened.
      To end the CLI session, enter [Exit].


Console#
Console#linux shell
# bash
root@test:/# 

这里在普通的 Debian 10 中,您需要确保您可以访问网络(如 ping baidu.com )。

注意, CRAFT 接口是连在“管理”口的那根网线。您需要确保这根网线有网络连接。

 

更新交换机

下列步骤将介绍如何更新交换机并安装配置所需的软件包。更新交换机首先需要提供一个代理。

用 root 登录交换机并修改 proxy.conf 文件,注释掉所有行:


root@test:/# vi /etc/apt/apt.conf.d/proxy.conf 

#Acquire::http { Proxy "http://localhost:8111"; };
#Acquire::https::Proxy "DIRECT";


#Acquire::http { Proxy "http://localhost:3142"; };
#Acquire::https::Proxy "http://localhost:3142";

接着提供一个新的源来安装软件包,您需要修改 /etc/apt/sources.list 文件。


deb http://deb.debian.org/debian/ buster main
deb http://security.debian.org/debian-security buster/updates main 

现在就能更新,升级,并安装 wget。不要忘了安装好之后要重启。

apt update
apt upgrade
apt install wget

安装 re6st 和 SlapOS

下列步骤将介绍如何安装 re6st 和 SlapOS。

默认情况下,交换机只有 2 GB 磁盘空间,对于 SlapOS 来说太少了。因此我们需要创建一个 lvm 项并放到交换机的 /tmp、/opt 和 /srv 中:


apt install lvm2
lvcreate -n SLAPOS -L 20G ACCTON
mkfs.ext4 /dev/ACCTON/SLAPOS

接着需要找到刚刚挂载的 uuid,并修改 fstab 来确保重启后改动依然有效。


blkid
vi /etc/fstab
	UUID='uuid'       /mnt/SLAPOS    ext4    defaults        0       0
	/mnt/SLAPOS/opt	/opt	none	bind
	/mnt/SLAPOS/srv	/srv	none	bind
	/mnt/SLAPOS/tmp	/tmp	none	bind

之后需要创建挂载点并挂载该逻辑卷。


mkdir -vp /mnt/SLAPOS
mount /dev/ACCTON/SLAPOS /mnt/SLAPOS

这样新挂载点已经能访问 /tmp、/opt 和 /srv了。


cd /mnt/SLAPOS
cp -R /tmp tmp
cp -R /opt opt
cp -R /srv srv
chmod 1777 /mnt/SLAPOS/tmp
chmod 755 /mnt/SLAPOS/opt
chmod 755 /mnt/SLAPOS/srv

现在就能安装 re6st 和 Slapos了,安装教程参见 安装 re6st 和 SlapOS。安装完之后,需要修改配置文件来让 re6st 工作。需要在配置文件中添加下面这一行:

default

注意,默认情况下 re6st 将 IPv6 地址附属到“lo”接口上。现在重启服务:


/etc/init.d/re6stnet restart

 

用 IPv6 进行 SSH 连接

现在可以使用 re6st 提供的 IPv6 来进行 SSH 连接。为了知道 re6st 提供的 IPv6 ,可以运行 "ip -6 a" ,查看 "lo" 接口的地址。

为了以 root 身份登录 AOS,需要设置 authorized_keys 文件:

root@test:/# mkdir -p /root/.ssh
root@test:/# vi /root/.ssh/authorized_keys # insert here your public SSH key.

然后从有 IPv6 的地方登录:

ssh root@<IPv6 of the switch>

 

让交换机充当路由器

下列步骤将介绍如何配置交换器,让其完成路由器的功能。目标是将一个测试设备插到交换机的普通端口中,让这台设备通过管理端口能正常访问网络。

测试设备可以是一台电脑,树莓派等任何能连接到 SFP 端口的设备。

 

 

创建并配置 VLAN

首先,需要在交换机上,借助 AOS 和 SFP 接口创建一个 VLAN。

您需要输入一些命令行命令,告诉交换机测试设备插入的端口,并创建一个会放置端口的 VLAN。

Console#configure
Console(config)#vlan database
Console(config-vlan)#vlan 100
Console(config-vlan)#exit
Console(config)#exit
Console#


上面的代码会创建一个 id 为 100 的 VLAN。

Console# configure
Console(config)# interface vlan 100
Console(config-if)# ip address 10.10.1.25/24
Console(config-if)# exit
Console(config)# interface ethernet 1/3
Console(config-if)# switchport allowed vlan add 100 untagged
Console(config-if)# switchport native vlan 100
Console(config-if)# ex
Console(config)# ex

用 "1/X" 替换 "1/3",其中 X 是连接测试设备的那个 SFP 端口号。 

 

 

允许在 AOS 外部转发软件包

为了运行所需的 iptables 配置,需要选择 legacy 选项。

update-alternatives --config iptables
 

root@test:/# update-alternatives --config iptables
There are 2 choices for the alternative iptables (providing /usr/sbin/iptables).
Selection Path Priority Status ------------------------------------------------------------
*0 /usr/sbin/iptables-nft 20 auto mode
1 /usr/sbin/iptables-legacy 10 manual mode
2 /usr/sbin/iptables-nft 20 manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/sbin/iptables-legacy to provide /usr/sbin/iptables (iptables) in manual mode 

接着运行下列命令:

root@test:~# iptables -t nat -A POSTROUTING -o CRAFT -j MASQUERADE

 

还需要在 Linux 内核中启用软件包转发:


root@test:~# sysctl net.ipv4.conf.CRAFT.forwarding=1
net.ipv4.conf.CRAFT.forwarding = 1

在测试设备上配置 IP

在配置完交换机后,需要在自己的电脑上配置路由来发送软件包。



ip addr add 10.10.1.2/24 dev [your device]
ip route add default via 10.10.1.25

Y现在能关闭自己计算机上的网络,以验证交换机是否如路由器那样正常工作。

永久化所有改动

还有一些工作需要完成。如果现在重启,那之前的设置都会丢失。所以需要永久化之前的改动:

IP address

需要在 /etc/network/interfaces 中保存配置,包括 VLAN100 的 IP 地址。

VLAN 配置

完成 VLAN 配置之后,需要将其保存到 flash 中,这样下次启动还能使用。在命令行中输入 "copy running-config startup-config" 。


Console#copy running-config startup-config
Startup configuration file name [startup1.cfg]: 
Write to FLASH Programming.
Write to FLASH finish.
Success.

 

sysctl

sysctl 需要像下面这样写入 /etc/sysctl.conf :


root@test:~# tail -n1 /etc/sysctl.conf 
net.ipv4.conf.CRAFT.forwarding=1

可惜的是,Debian 10 没有在启动的时候正确载入这个文件,需要自行用 crontab 添加,以便在重启的时候载入这个文件。


root@test:~# crontab -l
@reboot /bin/sleep 90 && /sbin/sysctl --load=/etc/sysctl.conf

 

iptables

iptables 并不是永久的,我们需要在交换机上配置。



apt install iptables-persistent
iptables-save > /etc/iptables/rules.v4

或:



ip6tables-save > /etc/iptables/rules.v6

交换机现在作为一个 SlapOS 节点运行,并完成路由器的工作。

谢谢!

Image Nexedi Office
  • Nexedi GmbH
  • 147 Rue du Ballon
  • 59110 La Madeleine
  • France