Saturday 30 December 2006

Konfiguracja serwera pppoe we FreeBSD

© 2006-01-26 Bartłomiej Siębab ver. 1.1

Wstęp

W systemie FreeBSD instalacja serwera pppoe (ppp over ethernet) jest dość prosta i niezbyt skomplikowana o ile zawczasu przygotujemy sobie koncepcję działania naszego środowiska. Artykuł powstał na skutek inspiracji działającym rozwiązaniem projektu WARTA. Sama koncepcja działania projektu jest słuszna jednakże wiele rzeczy należało zmienić i dostosować do wymagań klienta. Opierając się na przemyśleniach jakie zostały opisane w projekcie WARTA postanowiłem zbudować własne środowisko odpowiednio poprawione i rozbudowane. Z powodu problemów z netgraph'em które pojawiły się przy próbie konfiguracji środowiska we FreeBSD 6.0 całość instalacji przeprowadzono na wersji FreeBSD 4.11. Poniższy opis należy traktować jako "work in progress" bowiem konfiguracja będzie wkrótce zmodyfikowana i przetestowana.

Wymagania

W pierwszym etapie wdrożenia założono iż nie będzie wykorzystywany serwer RADIUS jednakże dalsza rozbudowa środowiska nie wyklucza jego użycia w przyszłości. Każdy klient podłączający się do serwera powinien mieć zlimitowaną przepustowość (full duplex lub half duplex) zgodnie z wykupionym pasmem. Klienci muszą być odseparowani od siebie. Połączenie musi być autoryzowane protokołem MSChapV2 a sam transfer danych musi być szyfrowany.

Instalacja

Kernel

Przygotowanie kernela do kompilacji jest proste. Wystarczy skopiować kernel GENERIC na własną nazwę i uzupełnić o wymagane składniki, jednocześnie pozbywając się niepotrzebnych:

$>cd /sys/i386/conf $>cp GENERIC MYKERNEL

Usunięcie zbędnych rzeczy z kernela pozostawiam Twojemu rozsądkowi. To co dodatkowo powinno się znaleźć w kernelu przedstawia poniższy listing:

# IPDIVERT enables the divert IP sockets, used by ``ipfw divert'' options IPDIVERT #divert sockets # DUMMYNET enables the "dummynet" bandwidth limiter. You need # IPFIREWALL as well. See the dummynet(4) and ipfw(8) manpages for more info. # When you run DUMMYNET it is advisable to also have "options HZ=1000" options DUMMYNET options HZ=1000

options IPFIREWALL #firewall options IPFIREWALL_VERBOSE #enable logging to syslogd(8) options IPFIREWALL_FORWARD #enable transparent proxy support options IPFIREWALL_VERBOSE_LIMIT=1000 #limit verbosity #options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default options IPFW2 #see ipfw(8) howto make ipfw2

Osobiście wolę kompilować kernel "starym" sposobem a zatem:

$>config -r MYKERNEL $>cd ../../compile/MYKERNEL $>make depend && make && make install $>shutdown -r now

Trzeba pamiętać że od tego momentu po restarcie maszyny zadziała firewall (w zależności od wpisów w /etc/rc.conf) co może skutkować odcięciem się od maszyny o ile robimy instalację zdalnie. Jeśli jest potrzeba filtracji pakietów w drugiej warstwie OSI to możemy skompilować kernel tak aby ipfw zawierał tą funkcjonalność (ipfw2) lecz nie będę opisywać tego co opisuje manual w temacie skompilowania ipfw2.

Skrypty startowe

/etc/rc.conf

Konfiguracja kernela zawiera już niezbędne elementy jak divert, ipfw, dummynet zatem możemy przystąpić do konfiguracji naszego firewalla. Przygotujemy własny skrypt ładujący regułki firewalla zatem należy w /etc/rc.conf wskazać go jako nasz firewall. Ponadto uruchomimy od razu NAT (natd). Poniżej interesujące nas fragmenty /etc/rc.conf:

ipv6_defaultrouter="NO" # Set to IPv6 default gateway (or NO). gateway_enable="YES" # Set to YES if this host will be a gateway. ### Basic network and firewall/security options: ### firewall_enable="YES" # Set to YES to enable firewall functionality firewall_script="/etc/regulki" # Which script to run to set up the firewall firewall_type="simple" # Firewall type (see /etc/rc.firewall) firewall_quiet="NO" # Set to YES to suppress rule display firewall_logging="YES" # Set to YES to enable events logging firewall_flags="" # Flags passed to ipfw when type is a file # natd natd_program="/sbin/natd" # path to natd, if you want a different one. natd_enable="YES" # Enable natd (if firewall_enable == YES). natd_interface="fxp2" # Public interface or IPaddress to use. natd_flags="-f /etc/natd.conf" # Additional flags for natd. # named. It may be possible to run named in a sandbox, man security for named_enable="YES" # Run named, the DNS server (or NO). named_program="/usr/sbin/named" # path to named, if you want a different one. named_flags="-u bind -g bind" # Flags for named named_pidfile="/var/run/named/pid" # Must set this in named.conf as well # pppoed server pppoed_enable="STANDALONE" # STANDALONE = run from /usr/local/etc/rc.d/pppoed.sh . pppoed_provider="*" # Provider and ppp(8) config file entry. pppoed_flags="-a isp -l default -P /var/run/pppoed.pid" # Flags to pppoed (if enabled). #pppoed_flags="-d -a isp -l default -P /var/run/pppoed.pid" # Flags with pppoed debug pppoed_interface="fxp1" # The interface that pppoed runs on.

/usr/local/etc/rc.d/pppoed.sh

Wyjaśnienia wymaga ustawienie zmiennej pppoed_enable="STANDALONE". Skrypt startujący pppoed we FreeBSd 4.x jest bardzo prymitywny dlatego napisałem własny który obsługuje start, stop oraz restart daemona, zatem aby oryginalny skrypt "odczepił się" i nie startował nam pppoed ustawiłem tą zmienną jako STANDALONE a w rzeczywistości pppoed jest uruchamiany z /usr/local/etc/rc.d/pppoed.sh. Daemon pppoed samoczynnie przy pierwszym uruchomieniu załaduje odpowiednie moduły netgraph do kernela. Poniżej kod źródłowy tego skryptu. Należy pamiętać o ustawieniu prawa wykonywania na tym skrypcie tak aby przy starcie maszyny został nim uruchomiony pppoed:

#!/bin/sh # Suck in the configuration variables. if [ -z "${source_rc_confs_defined}" ]; then if [ -r /etc/defaults/rc.conf ]; then . /etc/defaults/rc.conf source_rc_confs elif [ -r /etc/rc.conf ]; then . /etc/rc.conf fi fi case ${pppoed_enable} in [Ss][Tt][Aa][Nn][Dd][Aa][Ll][Oo][Nn][Ee]) case $1 in [Ss][Tt][Aa][Rr][Tt]) if [ -n "${pppoed_provider}" ]; then pppoed_flags="${pppoed_flags} -p ${pppoed_provider}" fi echo -n ' pppoed'; _opts=$-; set -f /usr/libexec/pppoed ${pppoed_flags} ${pppoed_interface} set +f; set -${_opts} ;; [Rr][Ee][Ss][Tt][Aa][Rr][Tt]) killall -9 pppoed rm -f /var/run/pppoed.pid /usr/local/etc/rc.d/pppoed.sh start ;; [Ss][Tt][Oo][Pp]) killall -9 pppoed rm -f /var/run/pppoed.pid ;; esac ;; esac

/etc/natd.conf

Poniżej bardzo prosty plik konfigiguracji /etc/natd.conf:

use_sockets same_ports unregistered_only

/etc/regulki

Poniżej skrypt startujący firewall przygotowany w taki sposób aby połączenie klienta poprzez ppp wstawiało nam w odpowiednich pozycjach dodatkowe regułki zezwalające na ruch do/z klienta oraz limitujące jego transfer:

# # Setup system for firewall service. # ############ # Set quiet mode if requested # fwcmd="/sbin/ipfw -q" # fwcmd="/sbin/ipfw" # Suck in the configuration variables. if [ -z "${source_rc_confs_defined}" ]; then if [ -r /etc/defaults/rc.conf ]; then . /etc/defaults/rc.conf source_rc_confs elif [ -r /etc/rc.conf ]; then . /etc/rc.conf fi fi setup_loopback () { ############ # Only in rare cases do you want to change these rules # ${fwcmd} add 100 pass all from any to any via lo0 ${fwcmd} add 200 deny log all from any to 127.0.0.0/8 ${fwcmd} add 300 deny log ip from 127.0.0.0/8 to any } ####################################### # Flush out the list before we begin. # # flushing rules ${fwcmd} -f flush # flushing pipes ${fwcmd} -f pipe flush # flushing queues ${fwcmd} -f queue flush ####################################### # firewall interfaces # wan przez dsl oif="fxp2" onet="83.x.y.z" omask="255.255.255.248" oip="83.x.y.v" # lan iif="fxp1" inet="10.0.0.0" imask="255.255.255.0" iip="10.0.0.1" ###################################################################### # init loopback rules setup_loopback # Stop spoofing ${fwcmd} add deny log all from ${inet}:${imask} to any in via ${oif} ${fwcmd} add deny log all from ${onet}:${omask} to any in via ${iif} # Stop RFC1918 nets on the outside interface #${fwcmd} add deny log all from any to 10.0.0.0/8 via ${oif} ${fwcmd} add deny log all from any to 172.16.0.0/12 via ${oif} ${fwcmd} add deny log all from any to 192.168.0.0/16 via ${oif} # Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1, # DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E) # on the outside interface ${fwcmd} add deny log all from any to 0.0.0.0/8 via ${oif} ${fwcmd} add deny log all from any to 169.254.0.0/16 via ${oif} ${fwcmd} add deny log all from any to 192.0.2.0/24 via ${oif} ${fwcmd} add deny log all from any to 224.0.0.0/4 via ${oif} ${fwcmd} add deny log all from any to 240.0.0.0/4 via ${oif} # wycinka sieci windows przez serwer ${fwcmd} add deny ip from any to any 135-139,445 ${fwcmd} add deny ip from any 135-139,445 to any ###################################################################### # NAT in regulka zmodyfikowana na przychodzacy ze swiata # zamienić na: out xmit ${oif} jeśli potrzeba case ${natd_enable} in [Yy][Ee][Ss]) if [ -n "${natd_interface}" ]; then ${fwcmd} add divert natd all from any to any via ${oif} fi ;; esac ###################################################################### # # limitowanie ruchu # # wyjatek na icmp ${fwcmd} add pass icmp from any to any ${fwcmd} add pass igmp from any to any # ruch do/z maszyny ${fwcmd} add pass all from me to any ${fwcmd} add pass all from any to me # jesli open to nie blokowac case ${firewall_type} in [Oo][Pp][Ee][Nn]) if [ -n "${natd_interface}" ]; then ${fwcmd} add skipto 50000 all from any to any fi ;; esac # przepuszczamy wszystko co w podsieci dsla ${fwcmd} add 11200 skipto 50001 ip from any to ${onet}:${omask} in recv ${oif} ${fwcmd} add 11300 skipto 50001 ip from ${onet}:${omask} to any out xmit ${oif} # przepuszczamy pytania do dhcpd ${fwcmd} add 11380 skipto 50001 udp from ${iip} 67 to ${inet}:${imask} 68 ${fwcmd} add 11390 skipto 50001 udp from ${inet}:${imask} 68 to 255.255.255.255 67 ${fwcmd} add 11400 skipto 50001 all from 0.0.0.0 to 255.255.255.255 ${fwcmd} add 11500 skipto 50001 all from ${iip} to 255.255.255.255 # puszczamy zapytania do lokalnego dns ${fwcmd} add 11600 skipto 50001 udp from ${inet}:${imask} to me 53 ${fwcmd} add 11700 skipto 50001 udp from me 53 to any #################### reszta ################################## ${fwcmd} add 39999 deny log ip from ${inet}:${imask} to ${inet}:${imask} ${fwcmd} add 40000 deny log ip from any to any ${fwcmd} add 50001 pass all from any to any ############################################################## ############################################################## # NAT out regulka zmodyfikowana na ruch wychodzacy w swiat # zamienić gdy potrzeba na: in recv ${oif} case ${natd_enable} in [Yy][Ee][Ss]) if [ -n "${natd_interface}" ]; then ${fwcmd} add 50005 divert natd all from any to any via ${oif} fi ;; esac ############################################################# # Stop RFC1918 nets on the outside interface #${fwcmd} add deny log all from 10.0.0.0/8 to any via ${oif} ${fwcmd} add deny log all from 172.16.0.0/12 to any via ${oif} ${fwcmd} add deny log all from 192.168.0.0/16 to any via ${oif} # Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1, # DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E) # on the outside interface ${fwcmd} add deny log all from any to 0.0.0.0/8 via ${oif} ${fwcmd} add deny log all from any to 169.254.0.0/16 via ${oif} ${fwcmd} add deny log all from any to 192.0.2.0/24 via ${oif} ${fwcmd} add deny log all from any to 224.0.0.0/4 via ${oif} ${fwcmd} add deny log all from any to 240.0.0.0/4 via ${oif} # puszczamy pingi jak leci ${fwcmd} add 50100 pass icmp from any to any # ruch do/z maszyny ${fwcmd} add pass all from me to any ${fwcmd} add pass all from any to me # everything is accepted via server ${fwcmd} add 65000 pass all from any to any ${fwcmd} add 65500 deny log logamount 10000 all from any to any # end of rules

Pewne problemy może sprawiać wyłapanie ruchu który powinien być przenatowany jednakże dla moich potrzeb takie regułki divert zadziałały i narazie takie pozostawiłem do czasu dalszych zmian.

/etc/sysctl.conf

Poniżej konfiguracja pożądanych sysctl'i:

#net.inet.ip.redirect=0

#net.inet.icmp.log_redirect=1 #net.inet.icmp.drop_redirect=1 # for dummynet 1-disable reinjecting 0-enable reinjecting net.inet.ip.fw.one_pass=0 # for layer2 filtering 1-enable 0-disable net.link.ether.ipfw=0 # blackhole antiscan #net.inet.tcp.blackhole=2 #net.inet.udp.blackhole=1 # log in vain #net.inet.tcp.log_in_vain=2 #net.inet.udp.log_in_vain=2

/etc/ppp.conf

Poniższa konfiguracja ppp zezwala na podłączanie klientów wyłącznie autoryzujących się MSChapv2 oraz wymusza szyfrowanie. Jeśli pożądane jest podłączanie się różnych sprzętowych routerków (przykładowo firma ma jedno pasmo i che być odseparowana swoim routerkiem od reszty sieci, na routerku ustawia konfiiigurację klienta pppoe, firewall, nat itp. itd.) to zapewne koniecznym będzie dopuszczenie zwykłej autoryzacji typu chap (proszę pamiętać że polecenia konfiguracji mają się zaczynać od drugiej kolumny czyli na początku polecenia jest jedna spacja):

################################################################# # # See /usr/share/examples/ppp/ for some examples # ################################################################# default: set device /usr/libexec/pppoed # set log Phase Chat LCP IPCP CCP tun command set log Phase Chat ident user-ppp VERSION (built COMPILATIONDATE) allow mode direct set mru 1400 set mtu 1400 set dns 10.0.0.1 10.0.0.1 accept dns resolv readonly set timeout 3600 set speed sync allow users disable pap deny pap #enable chap #accept chap disable chap deny chap disable LANMan deny LANMan enable mppe allow mppe disable MSChap deny MSChap enable MSChapv2 allow MSChapv2 # if needed enable proxy-arp enable proxy disable ipv6cp enable lqr # disable deflate deflate24 pred1 acfcomp protocomp # deny deflate deflate24 pred1 acfcomp protocomp disable deflate pred1 deny deflate pred1 set ifaddr 10.0.0.1 10.0.0.21-10.0.0.254

/dev/tunX

Zestawienie połączenia ppp powoduje podniesienie interfejsu tun0...tunX a ponieważ domyśłnie jest utworzone tylko tylko cztery takie urządzenia to musimy utworzyć ich dostateczną ilość w /dev:

$>cd /dev $>sh MAKEDEV tun250

/etc/ppp/ppp.secret

Plik z listą użytkowników loginy oraz przydzielone im hasła:

# # PLEASE USE UNIQUE LOGINS AND STRONG RANDOM PASSWORDS !!! # login password jasfasola h4sl0j4s14

/etc/ppp/ppp.linkup

Moduł ppp po zestawieniu i zautoryzowaniu połączenia przy podniesieniu interfejsu tunX uzytkownika wykonuje polecenia zawarte w pliku /etc/ppp/ppp.linkup i z tego poziomu uruchamiamy nasz skrypt generujący i wstawiający odpowiednie regułki do firewalla:

default: !bg /etc/ppp/addclient.sh USER connect HISADDR INTERFACE

/etc/ppp/ppp.linkdown

Analogicznie po rozłączeniu się użytkownika wywoływany jest /etc/ppp/ppp.linkdown z którego uruchomimy skrypt usuwający regułki danego użytkownika z firewalla:

default: !bg /etc/ppp/removeclient.sh USER disconnect HISADDR INTERFACE

/etc/ppp/addclient.sh

Skrypt wyliczający pewne parametry niezbędne do wstawienia regułek do firewalla na odpowiednich miejscach a także logujący parametry połaczenia do ewentualnych dalszych analiz i oględzin:

#!/bin/sh # grab parametres from commandline user=$1 type=$2 clientip=$3 int=$4 fwcmd="/sbin/ipfw" baza="/etc/ppp/ppp.klienci" usernum=`echo ${clientip} | cut -d "." -f 4` download=`grep ^${user} ${baza} | awk '{FS="[ \t]+"}{print $2}'` upload=`grep ^${user} ${baza} | awk '{FS="[ \t]+"}{print $3}'` if [ -z ${download} ]; then download=0 fi if [ -z ${upload} ]; then upload=0 fi pid=`cat /var/run/${int}.pid` # log this via syslogd message=`echo ppplinkup, ppppid ${pid}, ${user}, ${usernum}, ${download}, ${upload}, ${type}, ${clientip}, ${int}` logger -p local7.info $message pipedown=`echo "20000 + ${usernum} * 10" | /usr/bin/bc` pipeup=`expr ${pipedown} + 1` fwruledown=`expr ${pipedown} + 2` fwruleup=`expr ${pipedown} + 3` fwalldown=`expr ${pipedown} + 4` fwallup=`expr ${pipedown} + 5` ${fwcmd} pipe ${pipedown} config bw ${download}Kbit/s queue 16Kbytes ${fwcmd} pipe ${pipeup} config bw ${upload}Kbit/s queue 16Kbytes ${fwcmd} add ${fwruledown} pipe ${pipedown} all from any to ${clientip} in ${fwcmd} add ${fwruleup} pipe ${pipeup} all from ${clientip} to any out ${fwcmd} add ${fwalldown} pass all from any to ${clientip} ${fwcmd} add ${fwallup} pass all from ${clientip} to any

W powyższym skrypcie można by zmodyfikowac regułki tak aby ruch nie był traktowany niezależnie na przychodzący i wychodzący co pozwoliłoby na ustawienie jednej przepustowaości klientowi i przepuszczanie prze ztaką rurę ruchu w obu kierunkach a zatem klient dysponował by sumarycznie przepustowością obejmująca ruch do/z (asynchornicznie jak na SDI). Ponadto można by wymienić regułki zbierające ruch w rurki na poniższe lub ich wariacje z in recv/out xmit:

${fwcmd} add ${fwruledown} pipe ${pipedown} all from any to any in via ${int} ${fwcmd} add ${fwruledown} pipe ${pipeup} all from any to any out via ${int}

/etc/ppp/removeclient.sh

Analogicznie poniższy skrypt "sprząta" gdy klient się rozłączy:

#!/bin/sh # grab parameters from commandline user=$1 type=$2 clientip=$3 int=$4 fwcmd="/sbin/ipfw" baza="/etc/ppp/ppp.klienci" usernum=`echo ${clientip} | cut -d "." -f 4` download=`grep ^${user} ${baza} | awk '{FS="[ \t]+"}{print $2}'` upload=`grep ^${user} ${baza} | awk '{FS="[ \t]+"}{print $3}'` if [ -z ${download} ]; then download=0 fi if [ -z ${upload} ]; then upload=0 fi message=`echo ppplinkdown, ${user}, ${usernum}, ${download}, ${upload}, ${type}, ${clientip}, ${int}` logger -p local7.info ${message} pipedown=`echo "20000 + ${usernum} * 10" | /usr/bin/bc` pipeup=`expr ${pipedown} + 1` fwruledown=`expr ${pipedown} + 2` fwruleup=`expr ${pipedown} + 3` fwalldown=`expr ${pipedown} + 4` fwallup=`expr ${pipedown} + 5` ${fwcmd} delete ${fwallup} ${fwcmd} delete ${fwalldown} ${fwcmd} delete ${fwruleup} ${fwcmd} delete ${fwruledown} ${fwcmd} pipe delete ${pipeup} ${fwcmd} pipe delete ${pipedown}

/etc/ppp/ppp.klienci

Należy wyjaśnić że w powyższych skryptak wykorzystany jest plik tekstowy z parametrami przepustowości przyznanej użytkownikowi do wygenerowania odpowiednich rurek. Plik /etc/ppp/ppp.klienci ma prostą budowę skłądającą się z trzech kolumn. Zapewne dalsze rozwinięcie tego projektu zastąpi ten plik RADIUS'em:

# # UWAGA! zadnych pustych linii w tym pliku! # dozwolone komentarze od znaku # na poczatku linii # # login down up jasfasola 256 64

/etc/syslog.conf

Skrypty addclient.sh oraz removeclient.sh wysyłają do daemona syslog pozycje do zalogowania z facility local7.info także daemon pppoed, ppp i named loguje różne komunikaty. Należy sobie dopisać w /etc/syslog.conf poniższe pozycje i odpowiednio w /etc/newsyslog.conf opisać ich rotowanie i przycinanie:

local7.info /var/log/connection.log !ppp *.* /var/log/ppp.log !named *.* /var/log/named.log !pppoed *.* /var/log/pppoed.log

/etc/namedb/named.conf

Na naszym lokalnym serwerze będziemy logowć zapytania do dns. Klienci otrzymują jako adres serwera dns adres ip drugiego końca linku ppp i na tym adresie nasłuchuje named zatem wszelkie zapytania kierowane do niego możemy zalogować. Zapytania kierowane z pominięciem lokalnego dns mogą świadczyć o wirusie u klienta lub o celowej zmianie konfiguracji dns przez klienta jednakże możemy takie zapytania zablokować na firewallu. Poniższe wpisy włączają logowanie w bindzie:

logging { category default { default_syslog; default_debug; }; category panic { default_syslog; default_stderr; }; category packet { default_debug; }; category eventlib { default_debug; }; category queries { default_syslog; }; category statistics { default_syslog; }; category xfer-in { default_syslog; }; category xfer-out { default_syslog; }; };

Konfiguracja klienta

Nowe systemy typu Windows XP/2003 posiadają wbudowany moduł połączeń pppoe. Starsze systemy typu Windows 9x niestety wymagają zainstalowania klienta pppoe (np. raspppoe). Wspomnieć jednak należy o tym iz u klienta (Windows XP/2003) powinniśmy pozostawić jedynie "gołą" kartę sieciową, bez jakichkolwiek usług i protokołów (w szczególności sieci windows) i włączyć klientowi firewall. Raspppoe natomiast dodaje swój własny protokół do danej sieciówki i jest on niezbędny do poprawnego działania.

Instalacja połączenia z Internetem przy użyciu protokołu pppoe dla Windows XP/2000 (zakładamy że karta sieciowa jest zainstalowana):

Menu Start -> Panel sterowania -> Połączenia sieciowe:

Prawym myszką klikamy na karcie sieciowej właściwości:

Sprawdzamy i odznaczamy lub odinstalowujemy wszelkie usługi i protokoły sieciowe (tcpip, klienta sieci MS Networks, Udostępnianie plików i drukarek, Harmonogram pakietów QoS, i inne) zatwierdzamy zmiany i zamykamy formatkę:

W okienku Połączenia sieciowe klikamy kreatora: Utwórz nowe połączenie:

i dalej

Wybieramy: Połącz z Internetem:

Wybieramy: Konfiguruj moje połączenie ręcznie:

Wybieramy: Połącz używając połączenia szerokopasmowego… (poppe):

W polu nazwa usługodawcy internetowego wpisujemy małymi literami: isp

Wprowadzamy nazwę użytkownika (login) i hasło, zaznaczamy obie opcje dla zezwolenia wszystkim lokalnym użytkownikom komputera na podłączanie do Internetu oraz ustawiamy to połączenie jako domyślne:

Zaznaczamy utworzenie skrótu na pulpicie:

Gdy wyskoczy okienko „Łączenie z isp” zanim połączymy się z internetem należy jeszcze zmienić parametry połączenia zatem klikamy przycisk właściwości:

W okienku „isp właściwości” KONIECZNIE zmieniamy na zakładce zabezpieczenia Opcje zabezpieczeń zaznaczając opcje zaawansowane i klikając przycisk ustawienia:

W oknie „Zaawansowane ustawienia zabezpieczeń” ustawiamy Najmocniejsze szyfrowanie (odłącz, jeśli serwer odmawia) oraz Zezwalaj na użycie protokołów: wyłącznie MS CHAP wersja 2:

Po zatwierdzeniu przyciskiem OK. przechodzimy na zakładkę Sieć:

Klikamy przycisk Ustawienia, zaznaczamy wszystkie trzy opcje i zatwierdzamy OK:

Jeżeli komputer ma zainstalowany pakiet zabezpieczeń Service Pack 2 dla Windows XP to przechodzimy na zakładkę Zaawansowane:

W oknie „Zapora systemu Windows” klikamy przycisk Ustawienia i w opcjach Zapory włączamy zaporę ale opcję Nie zezwalaj na wyjątki pozostawiamy nie zaznaczoną:

Przechodzimy na zakładkę zaawansowane i w ramce Protokół ICMP klikamy przycisk Ustawienia

W oknie „Ustawienia protokołu ICMP” należy KONIECZNIE zezwolić na wszystkie (chyba że się dokładnie wie które chcemy wyblokować i jaki to może mieć skutek) typy pakietów ICMP (niezbędna dla poprawnego rozpoznawania PMTU) i zatwierdzić to OK:

Okienko „Zapora systemu Windows” akceptujemy przyciskiem OK, a następnie także akceptujemy okienko właściwości połączenia „isp właściwości”. Po zatwierdzeniu już możemy podłączyć się do Internetu klikając przycisk Połącz. Proszę zwrócić uwagę aby była zaznaczona opcja Zapisz tę nazwę użytkownika… dla Dowolny użytkownik tego komputera:

Takie ustawienie opcji połączenia jest bardzo ważne bowiem zapewni nam bezpieczeństwo i poufność przesyłanego loginu i hasła użytkownika a także całej transmisji po sieci lokalnej do routera internetowego realizującego połączenie użytkownika z Internetem. Zabezpiecza to przed podsłuchaniem przez innych użytkowników danych przesyłanych po sieci lokalnej, jednakże pomiędzy routerem internetowym a innymi serwerami w Internecie dane mogą nie być szyfrowane bowiem to już zależy od konkretnych potrzeb użytkowanych aplikacji. Zwykle szyfrowane połączenia są zestawiane przez przeglądarkę internetową przy operacjach w bankowości internetowej, czy też przy dostępie do poczty internetowej u niektórych usługodawców itp.

4 comments:

Anonymous said...

Istnieje może opcja pozwalająca logować się autoamtycznie przy wlączeniu komputera, coś jak normalne polączenie lan (tcp/ip) bez klikania polącz? (system windows XP Prof, i ew win98)

Unknown said...

Jest kilka programów automatyzujących tą czynność.

w4cky said...

A może coś gotowego? PPPoE.pl ??

Unknown said...

Tyle że oni nie dają tego za darmo...