HQ/Netzwerk/PPPoE failover: Unterschied zwischen den Versionen
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
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
- PPPoE Dialin (Debian/FreeBSD)
- Routing (Debian/FreeBSD)
- NAT – iptables unter Debian / ipfw unter FreeBSD
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!