HON’s Wiki # FS FSOS Switches
Home / Networking
Contents
Using
- FS S5860-20SQ (core switch)
- FS S3700-24T4F (access switch)
Basics
- Default credentials: Username
admin
and password admin
.
- Default mgmt. IP address:
192.168.1.1/24
- By default, SSH, Telnet and HTTP servers are accessible using the default mgmt. address and credentials.
- For SSH you might need to specify
-o HostKeyAlgorithms=+ssh-rsa
.
- Serial config: RS-232 w/ RJ45, baud 115200, 8 data bits, no parity bits, 1 stop bit, no flow control.
- The default VLAN is VLAN1.
Initial Setup
Core Switch
Using an FS S5860-20SQ.
Using an FS S3700-24T4F (access) and an FS S5860-20SQ (core).
- Connect to the switch using serial.
- Using RS-232 w/ RJ45, baud 115200, 8 data bits, no parity bits, 1 stop bit, no flow control.
- Use
Ctrl+H
for backspace.
- You should already be in the unprivileged exec mode (with
FS>
prompt).
- Enter privileged exec mode:
enable
- The prompt should change from
>
tp #
.
- (Optional) Show version:
show version
- See the note below on how to upgrade it.
- Make sure it’s running in standalone mode (no stacking):
switch convert mode standalone
- Enter config mode:
conf
- The prompt should change from
#
tp (config)#
.
- Set hostname:
- Enable password services:
- Enable automatic hashing of passwords (using some weak alg.):
service password-encryption
- Add user:
username <username> privilege 15 password 0 <password>
- Disable admin user:
no username admin
- Setup basic authentication (defaults to local):
- Enable new model:
aaa new-model
- Disable enable authn:
aaa authentication enable default none
- Enable login authn using local users:
aaa authentication login default local
- Enable login for console:
- Enter line config:
line con 0
(leave with exit
)
- Use default authentication (e.g. local):
login authentication default
- Disable web server and telnet server, enable SSH server:
- Disable web server:
no enable service web-server
- Disable telnet server:
no enable service telnet-server
- Enable SSH server:
enable service ssh-server
- Enter VTY lines:
line vty 0 35
- Use default authentication (e.g. local):
login authentication default
- (Optional) Disable inactivity timeout:
- (Note) For prod systems you should keep this disabled, but it’s really annoying when labbing.
- Enter console line.
- Disable timer:
exec-timeout 0
- (Optional) Disable management interface:
- Enter:
int mgmt 0
- Disable:
shut
- Remove address:
no ip addr
- Disable unused interfaces:
- Enter physical interface range (e.g.
int range te0/1-20
).
- Disable them:
shutdown
- (Meta) Setup basic interface:
- (Note) Applies to most interfaces.
- Set description:
description <description>
- Enable or disable:
[no] shutdown
- Setup physical L2 interface:
- (VLAN/LAG/etc. configured later.)
- Setup LAGs (LACP):
- Enter member interfaces:
int range te0/3-4
(example)
- (Optional) Enter some description.
- Enable active LACP:
port-group 1 mode active
(for group number 1
)
- Set short LACP period:
lacp short-timeout
- Enter LAG interface:
int aggregatePort 1
- Set load balancing method:
aggregate load-balance src-dst-ip
- Configure as normal switch interface.
- Verify:
show aggregatePort summary
and show lacp summary
- Setup VLANs:
- Define L2 VLAN and enter section:
vlan <VID>
- Set name:
name <name>
- (Note) To setup L3 interfaces for VLANs, enter
interface VLAN <VID>
.
- Add interfaces to VLANs:
- Enter the interface(s).
- Set the mode:
switchport mode {access|trunk}
- (Access) Set access VLAN:
switch access vlan <VID>
- (Trunk) Set native VLAN (if any):
switch trunk native vlan <VID>
- (Trunk) Set allowed VLANs (defaults to all):
switch trunk allowed only 10,20
(example)
- Setup L3 interface:
- Enter the interface (physical, VLAN, etc.).
- Enable L3 mode:
no switchport
- Set IPv4 address:
ip address <address>/<length>
- Set IPv6 address:
ipv6 address <address>/<length>
- Explicitly enable IPv6:
ipv6 enable
- Disable default VLAN interface:
- Enter VLAN:
int VLAN1
- Disable it:
shutdown
- Set default gateway (and other static routes):
- Set default gateway (IPv4):
ip route 0.0.0.0 0.0.0.0 <next-hop>
- Set default gateway (IPv6):
ipv6 route ::/0 <next-hop>
- (Note) To avoid leakage, you may want to setup a blackhole route for the site prefixes on the topmost routers.
- Enable router advertisements (RAs) for IPv6 L3 interfaces:
- (Note) This is required for IPv6 autoconfiguration. Set the two flags for DHCPv6 or unset them for SLAAC.
- Enter the interface.
- (DHCPv6) Set the ND managed flag:
ipv6 nd managed-config-flag
- (DHCPv6) Set the ND other flag:
ipv6 nd other-config-flag
- Set DNS servers (RDNSS):
ipv6 nd ra dns server <ipv6-server> infinite sequence 0
(only supports IPv6 addresses) (use sequence 1 for the next server)
- Set DNS search list (DNSSL):
ipv6 nd ra dns search-list <domain> infinite sequence 0
- (Optional) Disable sending RAs:
suppress-ra
(TODO Does this suppress sending or receiving??)
- TODO Requires testing.
- Set DNS servers:
- Add server (for each one):
ip name-server <ip-address>
- Set time and NTP servers:
- Set time zone:
clock timezone UTC 1 0
(Norway)
- Enable automatic summer time:
clock summer-time CEST start March last Sunday 2:00 end October last Sun 3:00
(Norway)
- Enable SNTP:
sntp enable
- Set NTP server:
sntp server <hostname>
- (Optional) Add MOTD:
- Start input for login banner:
banner login $
(for delimiter $
to end input with)
- Setup LLDP:
- Enable:
lldp enable
- Setup SNMP:
- TODO
- Enable RO for
public
community: snmp-server community 0 public ro
- Setup STP (802.1W/RSTP):
- TODO
spanning-tree
errdisable recovery interval 300
- Enable/disable flow control:
- Enter a physical interface range.
- (Optional) Enable auto mode:
flow-control auto
- (Optional) Disable auto mode:
flow-control off
- (Optional) Setup VRF:
- Create:
vrf definition <name>
- (Optional) Set a description.
- Enable IPv4:
address-family ipv4
- Enable IPv6:
address-family ipv6
- Bind interface to VRF (interface config):
vrf forwarding <vrf-name>
(removes existing IP addresses)
- TODO Test
- (Optional) Setup RADIUS: TODO
- (Optional) Setup TACACS+:
- Enable and set server:
tacacs-server host <server> key 0 <key-or-prompt>
- Set login authn to use TACACS+ and fallback to local:
aaa authentication login default group tacacs+ local
- TODO Set authz too?
- TODO Add accounting too?
- TODO Test.
- Set terminal idle timer:
- Enter console line:
line console 0
- Set timeout:
exec-timeout <seconds>
- Enter VTY lines:
line vty 0 31
- Set timeout (again).
- (Optional) Split 40G-interface (QSFP+) into 4x 10G (SFP+):
split interface <if>
- Save the config:
write mem
Random notes (TODO):
- Configure RSTP:
- Set protocol:
spanning-tree mode rstp
(default MSTP)
- Set priority:
spanning-tree priority <priority>
(default 32768, should be a multiple of 4096, use e.g. 32768 for access, 16384 for distro and 8192 for core)
- Set hello time:
spanning-tree hello-time <seconds>
(default 2s)
- Set maximum age:
spanning-tree max-age <seconds>
(default 20s)
- Set forward delay:
spanning-tree forward-time <seconds>
(default 15s)
- Enable:
spanning-tree
- TODO Enabled on all interfaces and VLANs by default?
- TODO Portfast for access ports?
spanning-treelink-type ...
- TODO Guards.
errdisable recovery interval 300
- VRF (avoid DHCP relay on VyOS?)
- Access lists for SSH etc.
- Disable mgmt. LAN
- URPF.
Access Switch
Using an FS S3700-24T4F.
- Connect to the switch using serial.
- Using RS-232 w/ RJ45, baud 115200, 8 data bits, no parity bits, 1 stop bit, no flow control.
- Use
Ctrl+H
for backspace.
- Login with username
admin
and password admin
.
- Enter exec mode:
enable
- (Optional) Show version:
show version
- See the note below on how to upgrade it.
- Enable password services:
- Enable prompting for password after command:
service password-hidden
- Enable automatic hashing of passwords (using some weak alg.):
service password-encryption
- Add user:
username <username> password 0 <password>
- Disable admin user:
no username admin
- (Optional) Setup authentication (defaults to local):
- Disable enable authn:
aaa authentication enable default none
- Enable login authn using local users:
aaa authentication login default local
- Disable HTTP server:
no ip http server
no ip http language
- Enable SSH and disable Telnet:
- Enable SSH server (enabled by default):
ip sshd enable
- Set SSH version:
ip sshd version 2
- Disable SSH RC4 cipher:
ip sshd disable-rc4
- Save the current key pair to flash to avoid regenerating it:
ip sshd save
- (Optional) Enable SFTP:
ip sshd sftp
- Disable Telnet:
no ip telnet enable
- Disable unused interfaces:
- Enter physical interface range (e.g.
int range g0/25-28
).
- Disable them:
shutdown
- Setup physical interface (applies motsly to other interfaces too):
- Set description:
description <description>
- Enable or disable:
[no] shutdown
- Setup LAGs:
- Enter port agg. interface:
interface port-aggregator <n>
- Set load balancing/hashing method:
aggregator-group load-balance both-ip
- Change LACP timeout to fast (1s) or slow (30s):
agg-period <seconds>
- Enter a physical interface range.
- Set agg. group and mode:
aggregator-group <n> mode lacp
- Show LACP status:
show aggregator-group brief
- Setup VLANs:
- Define VLAN:
vlan <VID>
- Enter VLAN interface:
interface VLAN<VID>
- TODO Member interfaces etc.
- Setup L3 interface:
- Enter the interface (physical, VLAN, etc.).
- Set the IPv4 address:
ip address <address> <subnet>
- Set the IPv6 address:
ipv6 address <address>/<prefix-length>
- (Optional) Explicitly enable IPv6 (not required if an address is specified):
ipv6 enable
- Disable directed broadcasts:
no ip directed-broadcast
- TODO Test IPv6.
- Disable default VLAN:
- Enter VLAN:
int VLAN1
- Disable it:
shutdown
- TODO Needs testing.
- Set hostname: TODO
- Set mgmt. addresses: TODO
- Set default and static routes: TODO
- Set DNS servers: TODO
- Set time and NTP servers: TODO
- (Optional) Add MOTD:
greeting <text-line>
(for each line, no quotes required)
- Enable LLDP:
lldp run
- Enable SNMP:
- Enable RO for
public
community: snmp-server community 0 public ro
- TODO Filter slow OIDs.
- Setup STP (802.1W/RSTP): TODO
- Enable/disable flow control:
- Enter a physical interface range.
- (Optional) Enable auto mode:
flow-control auto
- (Optional) Disable auto mode:
flow-control off
- Enable storm control:
- Enter an interface range.
- Enable for broadcast:
storm-control broadcast threashold <n>
(units of 64kb/s)
- Enable for unknown-destination unicast:
storm-control unicast threashold <n>
(units of 64kb/s)
- (Optional) Enable for multicast:
storm-control multicast threashold <n>
(units of 64kb/s)
- TODO Test.
- Enable port security:
- Enter an interface range.
- Enable dynamic mode:
switchport port-security mode dynamic
- Enable maximum addresses:
switchport port-security dynamic maximum <1>
- TODO Test timeout etc.
- Setup IGMP and MLD snooping: TODO
- Setup security mechanisms (DHCP snooping, IPSG, DAI, IPv6 stuff, etc.): TODO
- (Optional) Setup RADIUS: TODO
- (Optional) Setup TACACS+:
- Enable and set server:
tacacs-server host <server> key 0 <key-or-prompt>
- Set login authn to use TACACS+ and fallback to local:
aaa authentication login default group tacacs+ local
- TODO Set authz too?
- TODO Add accounting too?
- TODO Test.
- Set terminal idle timer:
- Enter console line:
line console 0
- Set timeout:
exec-timeout <seconds>
- Enter VTY lines:
line vty 0 31
- Set timeout (again).
- Save the config:
write all
Commands
- Configuration:
- Show startup config:
show configuration
- Show running config:
show running-config
- Show interface config:
show {conf | run} <interface>
- Save configuration:
write all
- Format system:
format
(TODO: Does it keep the software image?)
- Interfaces:
- (Core) Show L2 brief:
show int status
- (Access) Show L2 brief:
show int brief
- Show L3 brief:
show ip int brief
- STP:
- Show details:
show spanning-tree
- Show overview and interfaces:
show spanning-tree summary
- (Core) LACP:
- Show LAG interfaces:
show aggregatePort summary
- Show LACP status:
show lacp summary
- (Access) LACP:
- Show semi-detailed overview:
show aggregator-group [n] brief
- Show member ports:
show aggregator-group [n] summary
- Reboot:
reboot
Configuration Mode
- Enter interface range:
interface range <type><slot>/<port-range>[,<port-range>]*
(e.g. interface range g0/1-3,5
)
Tasks
Reset the Configuration
- Check that the startup config
config.txt
actually exists yet: dir
- Delete startup config:
delete config.text
- Restart:
reload
Mount a USB Drive
- Format the USB drive as FAT32.
- Physically mount it.
- Something like
USB-5-USB_DISK_FOUND
and usb-5-usb_DISK_PARTITION_MOUNT
should appear in the console.
- Wait for it to automount.
- No explicit mounting and unmounting of the filesystem is required (as far as I know). Data is flushed after every write.
- (Optional) View file systems:
show file systems
- Use it.
- Use
dir usb0:
to view files.
- Use
copy flash:config.txt usb0:
to copy the startup config to the drive.
- Physically unmount it.
Provision with ZTP
TODO
Upgrade Firmware
Via Web Panel
- Log into the Web panel.
- Go to “System Mgr.”, “System Software”.
- Select the software image (
FS-something.bin
) and check automatic reboot.
- Start the upgrade and do not leave the webpage until it tells you to.
- Verify.
Via CLI
- Put the image file on a TFTP server.
- Download it to the switch:
copy tftp:<file> flash:<file> <host>
- Make sure it has a descriptive name like
S3700-24T4F_V63289.bin
.
- Set to boot the new image (conf mode):
boot system flash <file>
- Reboot:
reboot
- Verify:
show version
hon.one
| HON95/wiki
| Edit page