Konfiguracja prostego serwera PPPoE

Kategoria: Artykuły, etykiety: sieć, internet

Dodany: 2009-09-20 20:29 (zmodyfikowany: 2009-09-20 20:32)
Przez: BiExi

Wyświetleń: 109042

Poniższy opis jest dla celów poglądowych do zastosowania na większą produkcyjną skale się nie nadaje.

Jak wiadomo użytkownicy sieci są coraz „sprytniejsi” potrafią „ukraść” komuś adres IP albo podmienić adres fizyczny karty sieciowej, a wszystko po to by za darmo móc korzystać z internetu :].

Jedną z prostszych metod zabezpieczenia się przed tego typu działaniami jest postawienie koncentratora PPPoE. Dzięki któremu dostęp do internetu będą mieli tylko Ci którzy połączą się po autoryzacji loginem i hasłem otrzymają dostęp do internetu

Opis składa się z 3 części

  • Podstawowa konfiguracja koncentratora PPPoE

  • Udostępnienie internetu dla urządzeń łączących się za pomocą PPPoE

  • Odpalenie koncentratora PPPoE

1. Konfiguracja koncentratora

Instalujemy serwer pppoe

aptitude install pppoe

tworzymy plik /etc/ppp/pppoe-server-options z zawartością

require-chap
lcp-echo-interval 20
lcp-echo-failure 10

gdzie

require-chap – określa metodę autoryzacji

lcp-echo-interval – dzięki tej funkcji będziemy mogli wykryć zerwanie połączenia

**lcp-echo-failure **- potrzebne do odnawiania połączenia gdy z nieustalonych przyczyn połączenie się zawiesi

w pliku /etc/ppp/options wpisujemy

mtu 1472
mru 1472
-pap
+chap
ms-dns 194.204.159.1
ms-dns 194.204.152.34

Gdzie:

mtu 1472 – określa wielkość Maximum Transmission Unit

mru 1472 – określa wielkość Maximum Receive Unit

-pap – sposób uwierzytelniania Password Authentication Protoco

+chap - sposób uwierzytelniania Challenge Handshake Authentication Protocol

ms-dns 194.204.159.1

ms-dns 194.204.152.34 – ustawienie serwerów DNS

Przykładowy plik z użytkownikami /etc/ppp/chap-secrets będzie wyglądał tak

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
login1            *       haslo1                    10.10.10.2
login2            *       haslo2                    10.10.10.3

Uwaga: poszczególne elementy muszą być oddzielone tabulatorami

2. Udostępnienie internetu dla sprzętu połączonego za pomocą PPPoE

Tworzymy plik /etc/init.d/firewall z zawartością szczegółowe objaśnienia dostępne są http://dug.net.pl/tekst/31/udostepnienie_polaczenia_internetowego_(masq)/

# wlaczenie w kernelu forwardowania 
echo 1 > /proc/sys/net/ipv4/ip_forward

# czyszczenie starych regul
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -t mangle -F
iptables -t mangle -X

# ustawienie domyslnej polityki
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

# utrzymanie polaczen nawiazanych
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

Nadajemy w/w plikowi prawo uruchomienia i ustawiamy by wykonywał się podczas startu systemu

update-rc.d firewall defaults 20
/etc/init.d/firewall

Kolejną czynnością jest ustawienie by podczas podnoszenia się tunelu PPP wykonywały się reguły do udostępnienia internetu w tym celu na końcu pliku /etc/ppp/ip-up dopisujemy

iptables -t nat -A POSTROUTING -s $5 -j MASQUERADE
iptables -A FORWARD -s $5 -j ACCEPT

Po zamknięciu tunelu PPP chcemy by wpisy do udostępniania internetu zostały usunięte na końcu pliku /etc/ppp/ip-down dopisujemy

iptables -t nat -D POSTROUTING -s $5 -j MASQUERADE
iptables -D FORWARD -s $5 -j ACCEPT

teraz małe wyjaśnienie $5 – jest to parametr przekazywany do 2 w/w plików i jest to adres IP 2 końca tunelu PPP czyli adres IP komputera który łączył się do naszego koncentratora PPPoE

3. Odpalenie serwera PPPoE

pppoe-server -I eth0 -N 1024 -C dug -L 10.10.10.1 -k

gdzie:

-I – określa interfejs na którym serwer PPPoE nasłuchuje

-N – ilość obsługiwanych sesji dla PPPoE

-C – nazwa serwera PPPoE tutaj dug

-L – adres IP serwera przy podnoszeniu połączenia

-k – korzystaj z sterowników jądra

OSnews Wykop Blip Flaker Kciuk Śledzik Facebook Identi.ca Twitter del.icio.us Google Bookmarks