HQ/Netzwerk/PPPoE failover: Unterschied zwischen den Versionen

Aus C3D2
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 36: Zeile 36:


=== Flatbert (Linux) ===
=== Flatbert (Linux) ===
System auf den aktuellen Stand halten
<source lang=bash>
apt-get autoclean; apt-get clean; apt-get update; apt-get upgrade
</source>
Umgebungs-/Debugtools installieren
<source lang=bash>
apt-get install git iptables tcpdump sockstat iputils-ping
</source>
Kernelmodule laden
<source lang=bash>
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
</source>
Container erstellen
<source lang=bash>
lxc-fancy create
</source>
Container stoppen und LXC-Container-Config anpassen (für pppoe kernel support)
<source lang=bash>
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
</source>
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!
<source lang=bash>
</source>
<source lang=bash>
</source>
<source lang=bash>
</source>
<source lang=bash>
</source>
<source lang=bash>
</source>
<source lang=bash>
</source>
<source lang=bash>
<source lang=bash>


</source>
</source>
<source lang=bash>


</source>
<source lang=bash>
</source>
<source lang=bash>
</source>
=== FreeNAS/Storage (FreeBSD) ===
=== FreeNAS/Storage (FreeBSD) ===
<source lang=bash>
<source lang=bash>

Version vom 1. Oktober 2015, 19:34 Uhr

"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