This is an old revision of the document!
Pentru a putea autentifica stațiile red
, green
și blue
vom folosi stația host
pe post de server de autentificare. Pentru acest lucru vom instala un server de PPPoE:
root@host:~# apt-get update root@host:~# apt-get install pppoe
pppoe
pe stația host
:
root@host:~# modprobe pppoe
În general, acest pas nu este necesar pentru că este realizat automat. În situația noastră însă, containerele nu pot încărca automat modulul pentru că nu au permisiuni de alterare a nucleului. De aceea încărcăm modulul de kernel în sistemul fizic și va fi ulterior prezent și în containere.
Configurarea serverului de PPPoE presupune, minimal, doi pași:
Un client PPPoE este o stație ce solicită o adresă IP pentru conectare.
În cazul PPP(oE) există două protocoale de autentificare: CHAP (Challenge-Handshake Authentication Protocol și PAP (Password Authentication Protocol). Întrucât CHAP este considerat mai sigur, vom folosi CHAP.
Configurarea credențialelor CHAP pentru clienții PPPoE este realizată în fișierul /etc/ppp/chap-secrets
. Vom configura parole și nume de utilizator simple, cu uz didactic, conținând chiar numele stațiilor. Într-un scenariu real, parolele vor fi complexe pentru a preveni ghicirea lor. Edităm fișierul /etc/ppp/chap-secrets
cu parolele pentru conturile celor trei stații de tip container; acesta va avea în final forma de mai jos:
root@host:~# cat /etc/ppp/chap-secrets # Secrets for authentication using CHAP # client server secret IP addresses red * red * green * green * blue * blue *
Cele patru coloane din cadrul fișierului /etc/ppp/chap-secrets
reprezintă:
client
) este username-ul clientului (red
, green
, blue
);server
) se referă la serverul PPP ce va fi folosi autentificarea (în cazul nostru am folosit *
, adică orice server, implicit și cel de PPPoE);secret
) este parola (red
, green
, blue
);IP addresses
) se referă la adresele IP ce pot folosi aceste credențiale și este folosită în general în conexiuni VPN peste Internet (am folosit *
întrucât în cazul PPPoE nu avem adresă IP sursă; este folosit direct protocolul Ethernet).
Pentru fiecare conexiune PPPoE dorim să alocăm automat adresele IP clienților. Serverul de PPPoE poate face acest lucru implicit fără a mai fi nevoie instalarea unui server de DHCP. Trebuie să definim spațiul de adrese IP în fișierul /etc/ppp/ipaddress_pool
la fel ca mai jos:
root@host:~# cat /etc/ppp/ipaddress_pool 192.168.0.2-5
Modul în care definim spațiul de adrese IP este: prima adresă IP alocabilă urmată de caracterul -
și limita superioară a ultimului octet.
După configurarea credențialelor de autentificare și a spațiului de adrese, vom putea porni serverul de PPPoE și vom verifica pornirea sa:
root@host:~# pppoe-server -C isp -L 192.168.0.1 -p /etc/ppp/ipaddress_pool -I br0 -O /etc/ppp/options root@host:~# ps -ef | grep pppoe-server root 10706 1 0 Dec29 ? 00:00:00 pppoe-server -C isp -L 192.168.0.1 -p /etc/ppp/ipaddress_pool -I br0 -O /etc/ppp/options
Semnificația parametrilor este după cum urmează:
-C isp
- numele serverului PPPoE;-L 192.168.0.1
- adresa IP a serverului de PPPoE (cu aceasta adresă vor comunica stațiile de tip client);-p /etc/ppp/ipaddress_pool
- fișierul în care este specificat spațiul de adrese IP ce vor fi furnizate clienților;-I br0
- interfața pe care ascultă (în acest caz este interfața de tip bridge br0
, interfață la care sunt conectate toate containerele);-O /etc/ppp/options
- opțiunile serverului PPPoE; le vom folosi pe cele implicite.
root@host:~# pkill -f pppoe-server root@host:~# pppoe-server -C isp -L 192.168.0.1 -p /etc/ppp/ipaddress_pool -I br0 -O /etc/ppp/options