User Tools

Site Tools


cyclades_ts1000

Cyclades TS1000 Consoleserver

Das Handbuch findet sich hier. Firmware findet sich hier.

Console

Die Konsole des TS1000 spricht 9600-8-N-1.

Default login

Wenn der TS1000 mit Werkseinstellungen konfiguriert ist, holt er sich via DHCP eine IP und meldet diese auf der Konsole. Root kann sich via Konsole oder SSH mit folgendenden Daten einloggen

  • Benutzername: root
  • Passwort: tslinux

root-Passwort 'vergessen'?

Kurz nach dem anschalten meldet sich der Loader in etwa so auf der Konsole:

Linux/PPC load: root=/dev/ram ramdisk=0x00003000

An dieser Stelle laesst sich die Kommandozeile durch druecken der SPACE-Taste bearbeiten - 'single' als Argument hinzufuegen und RETURN druecken. Der TS1000 bootet in den Single User Modus und man wird von einer Rootshell begruesst.

Factory reset

Durch folgende Befehle wird der TS1000 auf Werkseinstellungen zurueck gesetzt:

# echo > /proc/flash/script
# reboot

Konfiguration

TODO: syslog

Jede Aenderung an der Konfiguration muss gespeichert und aktiviert werden:

# saveconf
Checking the configuration file list...
Compressing configuration files into /tmp/saving_config.tar.gz ... done.
Saving configuration files to flash ... done.
# signal_ras HUP

Wichtige Konfigurationsdateien

  • /etc/hostname
  • /etc/hosts
  • /etc/resolv.conf
  • /etc/webui.sh (ENABLE=NO)
  • /etc/snmpd.sh (ENABLE=NO)
  • /etc/adsap2.sh (ENABLE=NO, in /etc/config_files aufnehmen - Details hierzu siehe weiter unten)

/etc/TIMEZONE

Wir sind CET:

CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00

/etc/network/st_routes

Sofern wir keinen NTP-Server im eigenen Netz haben, wollen wir als einzige Route eine Hostroute dahin.

route add -host 192.53.103.108 gw 172.27.20.30

/etc/network/firewall

Der TS1000 kann Firewalling via IPChains. Wir wollen keinen Traffic ausser SSH, und das auch nur von/zu unserer Stamm-IP und den Port-IPs. Sofern ein eigener NTP-Server betrieben wird, die IPs unten entsprechend anpassen.

# default: deny everything
:input DENY
:forward DENY
:output DENY
# allow destination unreachable (3), source quench (4), 
# incoming time-to-live exceeded (11) and outgoing pings (8 and 0)
-A input  -p icmp --icmp-type  0 -j ACCEPT
-A input  -p icmp --icmp-type  3 -j ACCEPT
-A input  -p icmp --icmp-type  4 -j ACCEPT
-A input  -p icmp --icmp-type 11 -j ACCEPT
-A output -p icmp --icmp-type  3 -j ACCEPT
-A output -p icmp --icmp-type  4 -j ACCEPT
-A output -p icmp --icmp-type  8 -j ACCEPT
# allow DNS resolving via 172.27.20.30
-A input -p udp -s 172.27.20.30 53 -j ACCEPT
-A output -p udp -d 172.27.20.30 53 -j ACCEPT
# allow ntp server 192.53.103.108 (ntp1.ptb.de) via udp
-A input -p udp -s 192.53.103.108 123 -j ACCEPT
-A output -p udp -d 192.53.103.108 123 -j ACCEPT
# allow ssh in/out
-A input -p tcp -d 172.27.20.25 22 -j ACCEPT
-A input -p tcp -d 172.27.21.0/255.255.255.224 22 -j ACCEPT
-A output -p tcp -s 172.27.20.25 22 -j ACCEPT
-A output -p tcp -s 172.27.21.0/255.255.255.224 22 -j ACCEPT

/etc/ntpclient.conf

Als NTP-Server fuer dieses Beispiel dient ntp1.ptb.de, von dem alle 5 Minuten die Zeit gesynct wird:

# This file defines the NTP client configuration

ENABLE=YES        # Must be "NO" or "YES" (uppercase)
DNAME=ntpclient   # daemon name
DPATH=/bin        # daemon path
ShellInit=        # Performs any required initialization
ConfigFiles=      # configuration files
DTYPE=sig         # must be "sig" or "cmd" (lowercase)
DSIG=kill         # signal to stop/restart the daemon (lowercase)
                  # if it's hup term will be used to stop the daemon
# daemon command line parameters
NTPSERVER="-h 192.53.103.108"  # Points to ntp1.ptb.de
NTPINTERVAL="-i 300"        # Time in seconds to ask server
NTPCOUNT="-c 0"             # counter : 0 means forever
NTP_OPT="-s"                # other ntp parameters
DPARM="$NTP_OPT $NTPCOUNT $NTPSERVER $NTPINTERVAL"
DSTOP=

/etc/config_files

In dieser Datei ist alles aufgelistet, was nach einem Reboot wiederhergestellt wird. Will man rebootfeste Aenderungen an einer Datei oder einem Verzeichnis machen, muss es hier eingetragen sein.

/etc/profile

Ich fuege fuer gewohenlich folgende Aliases ein:

alias cls="clear"
alias x="exit"
alias ..="cd .."
alias l="ls -lh"
alias la="ls -la"
alias save="saveconf; signal_ras HUP"

/root/.bashrc

Damit der TS1000 nicht bei jedem Root-Login auf der Konsole nervt, sieht die Datei so aus:

# .bashrc

#echo Exec "/.bashrc" Dir `pwd`

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

#if [ "/dev/ttyS0" = "`tty`" ] ; then
#  # display useful information to user root
#  if [ -f /readme ]; then
#    more /readme
#  fi
#fi

/etc/portslave/pslave.conf

Die zentrale Konfigurationsdatei fuer die meisten Features des TS1000. Ein funktionierendes Beispiel mit lokaler Benutzerauthentifizierung, einer IP fuer das System und jeweils einer IP fuer die 16 Seriellports, von denen auf jeder ein SSHD hoert:

##
## pslave.conf for cyclades ts1000
##
#
# access:   ssh
# auth:     local
# base ip:  172.27.20.25
# port ips: 172.27.21.1+ 
#

# expansion Variables
#
# a list of format strings used by some parameters is provided here
# for reference.
#
# %l: login name 
# %L: stripped login name 
# %p: NAS port number 
# %P: protocol 
# %g: Process Id (getpid)
# %b: port speed 
# %i: local IP 
# %j: remote IP 
# %1: first byte (MSB) of remote IP 
# %2: second byte of remote IP 
# %3: third byte of remote IP 
# %4: fourth (LSB) byte of remote IP 
# %c: connect-info 
# %m: netmask 
# %t: MTU
# %r: MRU                   
# %I: idle timeout 
# %T: session timeout 
# %h: hostname 
# %%: %

#
# device network config
# 
conf.dhcp_client      0
conf.eth_ip           172.27.20.25
conf.eth_mask         255.255.255.224
conf.eth_mtu          1500



#
# serial port general config
# 
all.protocol          socket_ssh
all.ipno              172.27.21.1+
all.netmask           255.255.255.224
all.mtu               1500
all.mru               1500

#
# auth config, sniffing, break sequences
# 
all.authtype          local
all.sniff_mode        i/o
all.multiple_sessions yes
all.escape_char       ^z
all.break_sequence    ~break
all.break_interval    500

#
# default port speeds, parity, etc
#
all.speed             9600
all.datasize          8
all.parity            none
all.stopbits          1
all.flow              none

#
# local groups
#
conf.group            all: flo
conf.group            adm: flo
conf.group            usr: flo
conf.group            net: flo
conf.group            srv: flo

#
# serial ports config
#
# port 1
s1.tty                ttyS1
s1.speed              9600
s1.serverfarm         v100
s1.users              usr srv
s1.admin_users        adm

# port 2
s2.tty                ttyS2
s2.speed              9600
s2.serverfarm         ttyS2
s2.users              usr
s2.admin_users        adm

# port 3
s3.tty                ttyS3
s3.speed              9600
s3.serverfarm         ttyS3
s3.users              usr
s3.admin_users        adm

# port 4
s4.tty                ttyS4
s4.speed              9600
s4.serverfarm         ttyS4
s4.users              usr
s4.admin_users        adm

# port 5
s5.tty                ttyS5
s5.speed              9600
s5.serverfarm         ttyS5
s5.users              usr
s5.admin_users        adm

# port 6
s6.tty                ttyS6
s6.speed              9600
s6.serverfarm         ttyS6
s6.users              usr
s6.admin_users        adm

# port 7
s7.tty                ttyS7
s7.speed              9600
s7.serverfarm         ttyS7
s7.users              usr
s7.admin_users        adm

# port 8
s8.tty                ttyS8
s8.speed              9600
s8.serverfarm         ttyS8
s8.users              usr
s8.admin_users        adm

# port 9
s9.tty                ttyS9
s9.speed              9600
s9.serverfarm         ttyS9
s9.users              usr
s9.admin_users        adm

# port 10
s10.tty               ttyS10
s10.speed             9600
s10.serverfarm        ttyS10
s10.users             usr
s10.admin_users       adm

# port 11
s11.tty               ttyS11
s11.speed             9600
s11.serverfarm        ttyS11
s11.users             usr
s11.admin_users       adm

# port 12
s12.tty               ttyS12
s12.speed             9600
s12.serverfarm        ttyS12
s12.users             usr
s12.admin_users       adm

# port 13
s13.tty               ttyS13
s13.speed             9600
s13.serverfarm        ttyS13
s13.users             usr
s13.admin_users       adm

# port 14
s14.tty               ttyS14
s14.speed             9600
s14.serverfarm        ttyS14
s14.users             usr
s14.admin_users       adm

# port 15
s15.tty               ttyS15
s15.speed             9600
s15.serverfarm        ttyS15
s15.users             usr
s15.admin_users       adm

# port 16
s16.tty               ttyS16
s16.speed             9600
s16.serverfarm        ttyS16
s16.users             usr
s16.admin_users       adm

User anlegen

Folgende Befehle legen einen User namens flo ohne Passwort an und bereiten Dinge fuer SSH vor:

# adduser -D flo
# su - flo
# mkdir .ssh
# chown flo:flo .ssh
# chmod 700 .ssh
# chmod g+s .ssh

Danach ist noch folgendes zu tun:

  • ~/.ssh/authorized_keys fuellen (Rechte: flo:flo, 0600)
  • In /etc/portslave/pslave.conf: Benutzer zu 'conf.group all' etc. hinzufuegen
cyclades_ts1000.txt · Last modified: 2015/06/22 13:07 by flo