Przygotowanie
Żeby uruchomić serwer PPPoE na linuksie potrzebujemy trzech rzeczy:- kernela z obsługą PPPoE
- pakietu 'ppp'
- pakietu 'rp-pppoe'
Konfiguracja kernela jak na screenshocie (Device drivers -> Network device support -> PPP over Ethernet):
Pakiet rp-pppoe instalujemy klasycznie:
emerge -va rp-pppoe
Jako zależność zostanie zainstalowany pakiet 'ppp'; jednakże trzeba zwrócić uwagę na flagi z jakimi zostanie zainstalowany - ja użyłem:
USE="activefilter atm dhcp eap-tls" emerge -va ppp
Konfiguracja
Konfiguracja sprowadza się do edycji pliku '/etc/ppp/pppoe-server-options':#/etc/ppp/pppoe-server-options
require-chap
ms-dns 192.168.100.254
ms-dns 194.204.152.34
mtu 1472
mru 1472
lcp-echo-interval 50
lcp-echo-failure 20
W pliku '/etc/ppp/chap-secrets' należy skonfigurować użytkowników:
#/etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
"kate" eth0 "kate-password" 192.168.100.10
Uruchomienie
Serwer PPPoE uruchamia się poleceniem 'pppoe-server':pppoe-server -I eth0 -C ZibikNET -S "TEST" -L 192.168.100.254 -N 1024 -k
gdzie:
-I - interfejs Ethernet, na którym serwer PPPoE ma nasłuchiwać ramek PADI
-C - nazwa koncentratora
-S - nazwa usługi. Pól tych może być kilka, ale pierwsze używane jest jako domyślne dla ramek PADI bez wyszczególnionej nazwy koncentratora
-L - adres IP serwera PPPoE, na którym będzie zestawiał połączenia
-N - maksymalna liczba jednoczesnych sesji PPPoE
-k - wykorzystanie sterownika jądra
Możemy uruchomić 'tail -f /var/log/messages' i przy próbie połączenia zobaczymy:
Oct 24 04:58:44 zibik pppoe-server[25762]: Session 1 created for client 00:40:f4:6e:0e:73 (10.67.15.1) on eth0 using Service-Name 'TEST'
Oct 24 04:58:44 zibik pppd[25762]: Plugin /etc/ppp/plugins/rp-pppoe.so loaded.
Oct 24 04:58:44 zibik pppd[25762]: RP-PPPoE plugin version 3.3 compiled against pppd 2.4.3
Oct 24 04:58:44 zibik pppd[25762]: pppd 2.4.3 started by root, uid 0
Oct 24 04:58:44 zibik pppd[25762]: Using interface ppp1
Oct 24 04:58:44 zibik pppd[25762]: Connect: ppp1 <--> eth0
Oct 24 04:58:46 zibik pppd[25762]: peer from calling number 00:40:F4:6E:0E:73 authorized
Oct 24 04:58:46 zibik pppd[25762]: local IP address 192.168.100.254
Oct 24 04:58:46 zibik pppd[25762]: remote IP address 192.168.100.10
Przy rozłączaniu:
Oct 24 05:02:19 zibik pppd[25762]: LCP terminated by peer (QM-DN^_^@
Oct 24 05:02:19 zibik pppd[25762]: Connect time 3.6 minutes.
Oct 24 05:02:19 zibik pppd[25762]: Sent 775270 bytes, received 764327 bytes.
Oct 24 05:02:20 zibik pppoe-server[25750]: Sent PADT
Oct 24 05:02:20 zibik pppd[25762]: Terminating on signal 15
Oct 24 05:02:22 zibik pppd[25762]: Connection terminated.
Oct 24 05:02:22 zibik pppd[25762]: Modem hangup
Oct 24 05:02:22 zibik pppd[25762]: Exit.
Oct 24 05:02:22 zibik pppoe-server[25750]: Session 1 closed for client 00:40:f4:6e:0e:73 (10.67.15.1) on eth0
U podłączonego klienta (pod windowsem: ipconfig /all):
Karta Ethernet Połączenie lokalne:
Sufiks DNS konkretnego połączenia :
Opis . . . . . . . . . . . . . . : Karta Realtek RTL8139 Family PCI Fast Ethernet NIC
Adres fizyczny. . . . . . . . . . : 00-40-F4-6E-0E-73
DHCP włączone . . . . . . . . . . : Tak
Autokonfiguracja włączona . . . . : Tak
Adres IP. . . . . . . . . . . . . : 0.0.0.0
Maska podsieci. . . . . . . . . . : 0.0.0.0
Brama domyślna. . . . . . . . . . :
Serwer DHCP . . . . . . . . . . . : 255.255.255.255
Karta PPP ZibikNet:
Sufiks DNS konkretnego połączenia :
Opis . . . . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Adres fizyczny. . . . . . . . . . : 00-53-45-00-00-00
DHCP włączone . . . . . . . . . . : Nie
Adres IP. . . . . . . . . . . . . : 192.168.100.10
Maska podsieci. . . . . . . . . . : 255.255.255.255
Brama domyślna. . . . . . . . . . : 192.168.100.10
Serwery DNS . . . . . . . . . . . : 192.168.100.254
194.204.252.34
NetBIOS przez TCP/IP. . . . . . . : Wyłączony
Uwagi
Nie udało mi się uruchomić PPPoE na pakiecie ppp-2.4.4: przy próbie podłączenia u klienta występował tajemniczy błąd 52 (zduplikowana nazwa w sieci); po wstecznej aktualizacji do wersji 2.4.3 problem zniknął.W opisie na stronie firmy Cyberbajt jest informacja, że karta sieciowa musi mieć zdjęte IP - ja zostawiłem IP, dzięki czemu użytkownicy mogą nadal korzystać z internetu używając klasycznego połączenia ethernetowego - jest to ważne szczególnie wtedy, gdy mamy działającą sieć a chcemy stopniowo i bezszokowo wdrożyć PPPoE u klientów. Oczywiście po zakończeniu wdrożenia można, a nawet należy zdjąć IP z karty sieciowej.
Należy mieć świadomość, że zastosowanie PPPoE zabezpiecza nas jedynie przed nieautoryzowanym dostępem do sieci, cały ruch jest nieszyfrowany i można go bez większych problemów podsłuchać. Jeśli chcemy wykluczyć taką możliwość wtedy należy (można) zastosować np. tunele VPN - w tej roli doskonale sprawdza się pptpd.
Źródła:
Powiązane wpisy:

Komentarze