目录
- 更新和升级交换机
- 安装 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
lvextend -l +100%FREE /dev/ACCTON/sysroot1
resize2fs /dev/ACCTON/sysroot1
接着需要找到刚刚挂载的 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 节点运行,并完成路由器的工作。
谢谢!
Nexedi GmbH
147 Rue du Ballon
59110 La Madeleine
France