|
Strona 4 z 5
5. Konfiguracja PPTPD – FreeBSD-FreeBSD
Instalujemy klienta PPTP
# cd /usr/ports/net/pptpclient
# make install clean
Tworzymy plik /etc/ppp/options.pptp
# touch /etc/ppp/options.pptp
# ee /etc/ppp/options.pptp
--- options.pptp ---
lock noauth nobsdcomp nodeflate |
--- end options.pptp ---
Edytujemy plik /etc/ppp/ppp.secret
# ee /etc/ppp/ppp.secret
--- ppp.secret ---
--- end ppp.secret ---
Edytujemy plik /etc/ppp/chap-secrets
# ee /etc/ppp/chap-secrets
--- chap-secrets ---
<user> <nazwa usługi> <hasło> * * |
--- end chap-secrets ---
Modyfikujemy /etc/ppp/ppp.conf
# ee /etc/ppp/ppp.conf
PPTP-client:
set authname <user>
set authkey <pass> |
I to by było na tyle.
Teraz możemy uruchomić skrypt podłączający nas do naszego VPN:
# ee /usr/local/etc/rc.d/pptp-up.sh
--- pptp-up ---
#!/bin/sh
#
/sbin/ping -c 1 192.168.50.1 | /usr/bin/grep " bytes from 192.168.50.1" > \
/dev/null || (killall pptp; /usr/local/sbin/pptp <adres serwera
PPTP> \
<nazwa połączenia a PPTP-client> ) |
--- end pptp-up ---
I dopisujemy skrypt aby uruchamiał się co 5 minut przez crona
# ee /etc/crontab
--- crontab ---
*/5 * * * * root /usr/local/etc/rc.d/pptp-up.sh > /dev/null 2>&1 |
--- end crontab ---
5a. Czym jest PPPoE ?
PPPoE (Point-to-Point Protocol over Ethernet) jest to specyfikacja
określająca sposób łączenia się użytkowników sieci Ethernet z Internetem za
pomocą połączenia szerokopasmowego, na przykład pojedynczej linii DSL,
urządzenia bezprzewodowego lub modemu kablowego. Dzięki korzystaniu z protokołu
PPPoE oraz modemu szerokopasmowego, użytkownicy mogą zwiększyć możliwość dostępu
do sieci szybkiego przesyłania danych. Połączenie funkcji sieci Ethernet z
możliwościami protokołu PPP sprawia, że protokół PPPoE stanowi efektywną metodę
tworzenia oddzielnego połączenia z serwerem zdalnym. W tym przypadku pakiety
Ethernet wyposażane są w nagłówki PPP i przekazywane przez modem / kartę
sieciową do urządzeń dostępowych operatora są zgodne ze standardem RFC 1483.
Tyle na temat teorii. Do czego może służyć może PPPoE ? Do uwierzytelniania
użytkowników wewnątrz sieci, a tym samym łatwego zarządzania dostępem do sieci /
Internetu.
5b. Konfiguracja
Aby poprawnie skonfigurować serwer PPPoE, należy w pierwszej kolejności
skompilować w jądro obsługę pakietu Netgraph:
options NETGRAPH
options NETGRAPH_PPPOE
options NETGRAPH_SOCKET |
I dodatkowe opcje przydatne dla PPPoE
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPDIVERT
options BRIDGE
options DUMMYNET |
Po skompilowaniu jądra i restarcie przystępujemy do konfiguracji PPPoE.
Skrypt po niżej jest skryptem dydaktycznym / przykładowym, i każdy powinien
dostosować go do własnych potrzeb.
--- start /etc/ppp/ppp.conf ---
pppoe-in:
allow users
enable passwdauth
enable PAP
enable MSCHAPv2
enable CHAP
set timeout 0
allow mode auto
enable deflate pred1
allow deflate pred1
set mru 1492
set mtu 1492
enable lqr
set lqrperiod 5
set cd 5
set ifaddr 192.168.50.1 192.168.50.50-192.168.50.199
set urgent tcp +80 +21 +443 |
--- end /etc/ppp/ppp.conf ---
Opis kilku opcji:
- allow users – domyślnie tylko użytkownik z ID 0 mają dostęp do demona PPP, aby
inni użytkownicy mogli korzystać z PPP wymagany jest powyższy wpis
- set timeout 0 – czas bezczynności po którym połączenie zostanie zawieszone (0
oznacza wyłączenie czasu)
- enable lqr – monitorowanie stanu połączenie, w przypadku złego stanu
połączenia PPP zostanie ono zerwane (przydatne w przypadku zerwania połączenia
przez kleinta – w takim wypadku połączenie na serwerze nadal będzie aktywne i
będzie blokować adres IP użytkownika)
- set lqrperiod 5 – częstotliwość w sekundach z jaką będą wysyłane pakiety LQR
- set cd 5 – podobnie jak lqr
- set urgent tcp – spowoduje uprzywilejowanie pakietów płynących z / do portów
80 / 21 / 443
5c. Hasła
Typ uwierzytelnienia CHAP, MSCHAPv2 wymaga aby hasła nie były zakodowane i
występowały w postaci czystego tekstu. Należy je umieścić w pliku /etc/ppp/ppp.secret
--- ppp.secret ---
#-------------------------------------------------------------------------------
#<uzytkownik> <hasło> <IP> * <call back>
User1 pass1 192.168.50.2 * *
User2 * 192.168.50.3 * * |
--- end ppp.secret ----
W wyżej wymienionym przypadku będzie możliwe uwierzytelnienie użytkownika
„User1” po przez protokół CHAP, MSCHAPv2. „User2” ma w miejsce hasła wpisane „*”
co oznacza że hasło będzie wyszukiwane przez mechanizm „passwdauth” w bazie
danych użytkowników. Niestety, mimo odnalezienia hasła i takiego użytkownika
systemowego, nie zostanie on przyjęty przez mechanizm CHAP. Należy w takim
wypadku u klienta przełączyć mechanizm logowania na PAP.
Start > Ustawienia > Panel Sterowania > Połączenia Sieciowe
„Właściwości” – naszego połączenia PPPoE
Zakładka „Zabezpieczenia” > Zaawansowane (ustawienia niestandardowe) >>
Ustawienia..
5d. Uruchamianie usługi PPPoED
1. Usługę można uruchomić w dwojaki sposób: Z linii poleceń
# /usr/libexec/pppoed -P /var/run/pppoed.pid -l pppoe-in -p '*' rl0
- l – etykieta połączenia PPPoE znajdująca się w ppp.conf
- p – nazwa usługi (w przypadku wpisania „*” nie ma znaczenia co wpiszemy w polu
Właściwości połączenia > Nazwa usługi )
2. Uruchamianie automatyczne przy starcie systemu
# ee /etc/rc.conf
--- rc.conf ---
pppoed_enable="YES" # Run the PPP over Ethernet daemon.
pppoed_provider="*" # Provider and ppp(8) configfileentry.
pppoed_flags="-P /var/run/pppoed.pid -l pppoe-in" # Flags to pppoed (if
enabled).
pppoed_interface="rl0" # The interface that pppoed runs on. |
--- end rc.conf ---
|