HQ/Netzwerk/PPPoE failover

Aus C3D2
Zur Navigation springen Zur Suche springen
"serverseitiges PPPoE Failover

Switch (Partitionierung) mit filter source-port

Der Switch "diethylether" (OBEN / mit der IP: .7) hat per CLI ein HP ProCurve - filter source-port Regelsatz

Dieser Regelsatz dient weitgehend zur Trennung der PPPoE Übertragung mit dem restlichen Netzwerk

  • Port 1-4 dürfen nur mit Trk2 / Trk3 kommunizieren
  • > Port 1 ist für das PPPoE DSL Modem
  • > Port 2 (Notfall) Ratbert (generell ausgeschaltet)
  • > Port 3 (für Debugzwecke zum Port-Mirroring)
  • > Port 4 (Fritzbox für VoIP zum Asterisk LXC)

Der zweite Teil der Segmentierung sie wie folgt aus:

  • > Port 5-8 (ist der Trunk von Trk2 & Trk3)
  • > Trk2 ist freenas/storage server
  • > Trk3 ist flatbert server
  • (einige ) Port 9-20 und Trk1 (Port 21-24) dient der Kommunikation mit dem Switch (UNTEN / mit der IP: .6) der das eigentliche HQ, über das Patchfeld, versorgt

(untagged als auch VLAN 100-105)

PPPoE Failover Schema

  • Der Flatbert Server hat den LXC Container: dropbert1 mit der IP: .91 (primärer PPPoE Dialin/Routing Container)
  • Der FreeNAS/Storage Server hat die JAIL: dropbert2 mit der IP: .92 (backup PPPoE Dialin/Routing Container)
  • Da es sich bei Flatbert um einen Linux (Debian) Server und FreeNAS/Storage um einen FreeBSD Server handelt, wird zur gegenseitigen "failover" Verständigung, innerhalb der Container, ucarp verwendet

Funktionen der Container

HOST System Einrichtung

Flatbert (Linux)

System auf den aktuellen Stand halten

apt-get autoclean; apt-get clean; apt-get update; apt-get upgrade

Umgebungs-/Debugtools installieren

apt-get install git iptables tcpdump sockstat iputils-ping

Kernelmodule laden

vi /etc/modules
 
### pppoe routing // ###
pppoe
ip_tables
ip6_tables
ip6t_MASQUERADE
## ("pkttype" packet type match support) filter multicast
xt_pkttype
tun
### // pppoe routing ###
 
modprobe pppoe ip_tables ip6_tables ip6t_MASQUERADE xt_pkttype tun

Container erstellen

lxc-fancy create

Container stoppen und LXC-Container-Config anpassen (für pppoe kernel support)

lxc-stop -n dropbert1

vi /var/lib/lxc/dropbert1/config
 
#// ppp/pppoe support
lxc.cgroup.devices.allow = c 108:0 rwm
lxc.mount.entry = /dev/ppp dev/ppp none bind,optional,create=file
#// lxc-to-go bridge 1
lxc.network.link=vswitch0

WICHTIG: durch das Flatbert Netzwerkschema muss! vswitch1 nach vswitch0 umgeschrieben werden, damit „dropbert1“ direkt über die erste Bridge angebunden wird und nicht an der zweiten Bridge, die ProxyARP/ProxyNDP verwendet!

FreeNAS/Storage (FreeBSD)

Container Einrichtung

LXC: dropbert1

JAIL: dropbert2