Linux - jak sprawdzić otwarte porty

środa, 23 lutego 2011 0 komentarze

W celu sprawdzenia otwartych portów należy wykonać komendę:

netstat -tulpn


Znaczenie opcji:
- t - porty TCP/IP
- u - porty UDP
- l - tylko porty typu LISTEN
- p - pokaż PID procesu związanego z otwartym portem
- n -pokazuje adresy numeryczne; nie próbuje zdeterminować symbolicznego hosta, portu czy nazwy użytkownika

FEDORA CORE 14 Linux - Konfiguracja karty TV: PixelView PlayTV HD

, wtorek, 15 lutego 2011 0 komentarze

Nadszedł czas na skonfigurowanie karty telewizyjnej na mojej Fedorze. Niestety na linux-ie konfiguracja nie jest tak prosta jak na Windozie i trochę czasu trzeba zaplanować żeby ten temat załatwić na swoim kompie wyposarzonym w linux-a. Mam nadzieję, że to co udało mi się zrobić i opisać niżej pomoże innym w konfiguracji karty TV i pozwoli na zaoszczędzenie czasu na Googlowanie w nadzieji, że coś się uda znaleźć żeby działało.

Opiszę tutaj moją konfigurację dla karty TV, którą aktualnie posiadam, czyli PixelView PlayTV HD opartej na chipie CX2388x.

Po pierwsze należy pobrać bieżącą wersję pliku pci.ids z dystrybucji i zainstalować co robimy komendą:

sudo update-pciids

Następnie sprawdzamy czy karta TV jest rozpoznawana przez system wyświetlając wszystkie podłączone urządzenia PCI:
lspci

U mnie jest to następujący wpis w liście wyświetlonej po wykonaniu komendy:
05:02.0 Multimedia video controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder (rev 03)
Teraz sprawdzamy czy w systemie jest załadowany odpowiedni sterownik w postaci modułu video4linux. W celu sprawdzenia czy odpowiedni sterownik jest załadowany w systemie należy wykonać komendę:
dmesg | grep cx88

Po wykonaniu tej komendy pewnie na ekranie pojawiła się lista na której końcu są następujące linie:

[ 11.307744] cx88[0]: subsystem: 0000:0000, board: UNKNOWN/GENERIC [card=0,autodetected], frontend(s): 0
[ 11.307747] cx88[0]: TV tuner type -1, Radio tuner type -1
[ 12.636927] tuner 1-0060: chip found @ 0xc0 (cx88[0])
[ 12.663271] cx88[0]/0: found at 0000:05:02.0, rev: 3, irq: 18, latency: 32, mmio: 0xf9000000
[ 12.663464] cx88[0]/0: registered device video0 [v4l2]
[ 12.663539] cx88[0]/0: registered device vbi0

Oznacza to, że system nie wykrył automatycznie typu karty i trzeba mu podpowiedzieć jaką mamy kartę i jej ustawienia. Teraz zaczyna się zwykle droga przez mękę polegająca na określeniu jaki to rodzaj karty posiadamy i wykonujemy to medodą prób i błędów wykonując następującą sekwencję komend:

sudo rmmod cx8800
sudo rmmod cx88xx
sudo modprobe cx88xx card=cx tuner=tx
sudo modprobe cx8800

gdzie cx - oznacza model karty TV, a tx - oznacza model tunera TV (lista typów kart i tunerów podana jest niżej).
W przypadku karty, której dotyczy opis ustawienia które powinny działać są następujące:
sudo modprobe cx88xx card=3 tuner=5 radio=5

Teraz przydało by się sprawdzić czy to działa. Po pierwsze wykonujemy komendę:
dmesg | grep cx88

co powinno nam dać w rezultacie mniej więcej następujący wynik:

[ 1358.792181] cx88/0: cx2388x v4l2 driver version 0.0.8 loaded
[ 1358.792311] cx8800 0000:05:02.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[ 1358.795258] cx88[0]: subsystem: 0000:0000, board: PixelView [card=3,insmod option], frontend(s): 0
[ 1358.795261] cx88[0]: TV tuner type 5, Radio tuner type -1
[ 1358.911478] tuner 1-0060: chip found @ 0xc0 (cx88[0])
[ 1358.930185] cx88[0]/0: found at 0000:05:02.0, rev: 3, irq: 18, latency: 32, mmio: 0xf9000000
[ 1358.930306] cx88[0]/0: registered device video0 [v4l2]
[ 1358.930345] cx88[0]/0: registered device vbi0
[ 1358.930382] cx88[0]/0: registered device radio0

Następnie musimy sobie zainstalować program do oglądania telewizji. Ja używam w tym celu programu tvtime, na podstawie którego oprę dalszy opis.
No dobrze jeżeli mamy zainstalowany tvtime dobrze jest wykonać komendę:
tvtime-scanner

Komenda ta pozwala na wyszukanie kanałów po czym to co zostanie znalezione jest zapisywane w następującym pliku /home/myhome/.tvtime/stationlist.xml. W moim przypadku w wyniku działania przeszukania kanałów otrzymałem następującą zawartość pliku:













Oczywiście skaner nie wpisuje nazw kanałów to po wyp¶óbowaniu należy sobie uzupełnić samemu. Dodatkowo skaner może wyszukać kanały kilkukrotnie wtedy usunięcie polega na usunięciu odpowienich linii z pliku. Kolejność kanałów określa parametr position.
Dobrze teraz włączamy program tvtime. Po włączeniu powinniśmy już widzieć obraz z kanałów, jeżeli nie widać nic i jest niebieski obraz należy najprawdopodomniej zmienić źródło. Robimy to naciskając prawy klawisz myszy i dalej Ustawienia wejścia -> Zmień Źródło obrazu. U mnie jest to wartość Television. Można też dowolnie zmianiać inne ustawienia tej sekcji - proponuję popróbować lub poszukać na sieci co oznaczają poszczególne ustawienia.

Dobrze, najprawdopodobniej jest tak że mamy obraz i niestety nie mamy dźwięku. Tutaj następne schody. Ja mam u siebie podłączoną kartę telewizyjną bezpośrednio kablem do karty dźwiękowej czyli tzw. podłączenie typu "internal audio cable" i tutaj skupię się na przepisie jak uzyskać dźwięk w tego typu konfiguracji. Należy w tym przypadku wejść w ustawienia ALSA poprzez uruchomienie komendy:
alsamixer

Następnie zmieniamy kartę na odpowiednią (ja mam dwie karty dźwiekowe) używając klawisza funkcyjnego . Teraz przechodząc strzałkami kursora lokalizujemy Aux i zwiększamy głośność np. do 100% (klawisz kursora w górę). Najprawdopodoniej ten kanał jest również wyciszony, więc naciskamy klawisz . Przechodzimy dalej klawiszem kursora (w prawo) do kanału Analog M i zwiększamy głośność odpowiednio. U mnie wykonanie tych czynności spowodowało pojawienie się dźwięku. Z alsamixer wychodzimy przy użyciu .

Teraz wszystko powinno być OK, natomiast nie chcemy po każdym logowaniu wykonywać komend w celu aktywacji modułów i wprowadzania ustawień, dlatego należy w katalogu /etc/modprobe.d utworzyć plik z rozszerzeniem .conf np. tv.conf i wpisać do niego następującą zawartość:

alias char-major-89-* i2c-dev
options i2c-algo-bit bit_test=1

alias char-major-81 videodev
alias char-major-81-0 cx88xx
options cx88xx card=3 tuner=23 radio=23 i2c_scan=1 nicam=1 dsp_debug=1 always_analog=1 core_debug=1
alias char-major-81-0 cx8800
options cx8800 video_debug=1

Znaczenie poszczególnych wpisów proponuję poszukać sobie na stronach internetowych, ogólnie natomiast rzecz biorąc powyższe wpisy powodują odpowiednie załadowanie modułów oraz wprowadzenie odpowiednich ustawień dla tych modułów. W celu uzyskania informacji jakie parametry są dopuszczalne dla poszczególnych modułów proponuję użyć komendy modinfo np.
modinfo cx88xx


Należy pamiętać, że przed wprowadzeniem automatycznego ładowania modułów i ustawienia opcji dla nich najlepiej wykonać próby przy uzyciu rmmod i modprobe to może ustrzec od kłopotów na starcie systemu.


Lista typów kart:

1 -> Hauppauge WinTV 34xxx models [0070:3400,0070:3401]
2 -> GDI Black Gold [14c7:0106,14c7:0107]
3 -> PixelView [1554:4811]
4 -> ATI TV Wonder Pro [1002:00f8]
5 -> Leadtek Winfast 2000XP Expert [107d:6611,107d:6613]
6 -> AverTV Studio 303 (M126) [1461:000b]
7 -> MSI TV-@nywhere Master [1462:8606]
8 -> Leadtek Winfast DV2000 [107d:6620]
9 -> Leadtek PVR 2000 [107d:663b,107d:663c,107d:6632]
10 -> IODATA GV-VCP3/PCI [10fc:d003]
11 -> Prolink PlayTV PVR
12 -> ASUS PVR-416 [1043:4823,1461:c111]
13 -> MSI TV-@nywhere
14 -> KWorld/VStream XPert DVB-T [17de:08a6]
15 -> DViCO FusionHDTV DVB-T1 [18ac:db00]
16 -> KWorld LTV883RF
17 -> DViCO FusionHDTV 3 Gold-Q [18ac:d810,18ac:d800]
18 -> Hauppauge Nova-T DVB-T [0070:9002,0070:9001,0070:9000]
19 -> Conexant DVB-T reference design [14f1:0187]
20 -> Provideo PV259 [1540:2580]
21 -> DViCO FusionHDTV DVB-T Plus [18ac:db10,18ac:db11]
22 -> pcHDTV HD3000 HDTV [7063:3000]
23 -> digitalnow DNTV Live! DVB-T [17de:a8a6]
24 -> Hauppauge WinTV 28xxx (Roslyn) models [0070:2801]
25 -> Digital-Logic MICROSPACE Entertainment Center (MEC) [14f1:0342]
26 -> IODATA GV/BCTV7E [10fc:d035]
27 -> PixelView PlayTV Ultra Pro (Stereo)
28 -> DViCO FusionHDTV 3 Gold-T [18ac:d820]
29 -> ADS Tech Instant TV DVB-T PCI [1421:0334]
30 -> TerraTec Cinergy 1400 DVB-T [153b:1166]
31 -> DViCO FusionHDTV 5 Gold [18ac:d500]
32 -> AverMedia UltraTV Media Center PCI 550 [1461:8011]
33 -> Kworld V-Stream Xpert DVD
34 -> ATI HDTV Wonder [1002:a101]
35 -> WinFast DTV1000-T [107d:665f]
36 -> AVerTV 303 (M126) [1461:000a]
37 -> Hauppauge Nova-S-Plus DVB-S [0070:9201,0070:9202]
38 -> Hauppauge Nova-SE2 DVB-S [0070:9200]
39 -> KWorld DVB-S 100 [17de:08b2]
40 -> Hauppauge WinTV-HVR1100 DVB-T/Hybrid [0070:9400,0070:9402]
41 -> Hauppauge WinTV-HVR1100 DVB-T/Hybrid (Low Profile) [0070:9800,0070:9802]
42 -> digitalnow DNTV Live! DVB-T Pro [1822:0025,1822:0019]
43 -> KWorld/VStream XPert DVB-T with cx22702 [17de:08a1,12ab:2300]
44 -> DViCO FusionHDTV DVB-T Dual Digital [18ac:db50,18ac:db54]
45 -> KWorld HardwareMpegTV XPert [17de:0840]
46 -> DViCO FusionHDTV DVB-T Hybrid [18ac:db40,18ac:db44]
47 -> pcHDTV HD5500 HDTV [7063:5500]
48 -> Kworld MCE 200 Deluxe [17de:0841]
49 -> PixelView PlayTV P7000 [1554:4813]
50 -> NPG Tech Real TV FM Top 10 [14f1:0842]
51 -> WinFast DTV2000 H [107d:665e]
52 -> Geniatech DVB-S [14f1:0084]
53 -> Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DVB-T [0070:1404,0070:1400,0070:1401,0070:1402]
54 -> Norwood Micro TV Tuner
55 -> Shenzhen Tungsten Ages Tech TE-DTV-250 / Swann OEM [c180:c980]
56 -> Hauppauge WinTV-HVR1300 DVB-T/Hybrid MPEG Encoder [0070:9600,0070:9601,0070:9602]


Lista typów tunerów:

tuner=0 - Temic PAL (4002 FH5)
tuner=1 - Philips PAL_I (FI1246 and compatibles)
tuner=2 - Philips NTSC (FI1236,FM1236 and compatibles)
tuner=3 - Philips (SECAM+PAL_BG) (FI1216MF, FM1216MF, FR1216MF)
tuner=4 - NoTuner
tuner=5 - Philips PAL_BG (FI1216 and compatibles)
tuner=6 - Temic NTSC (4032 FY5)
tuner=7 - Temic PAL_I (4062 FY5)
tuner=8 - Temic NTSC (4036 FY5)
tuner=9 - Alps HSBH1
tuner=10 - Alps TSBE1
tuner=11 - Alps TSBB5
tuner=12 - Alps TSBE5
tuner=13 - Alps TSBC5
tuner=14 - Temic PAL_BG (4006FH5)
tuner=15 - Alps TSCH6
tuner=16 - Temic PAL_DK (4016 FY5)
tuner=17 - Philips NTSC_M (MK2)
tuner=18 - Temic PAL_I (4066 FY5)
tuner=19 - Temic PAL* auto (4006 FN5)
tuner=20 - Temic PAL_BG (4009 FR5) or PAL_I (4069 FR5)
tuner=21 - Temic NTSC (4039 FR5)
tuner=22 - Temic PAL/SECAM multi (4046 FM5)
tuner=23 - Philips PAL_DK (FI1256 and compatibles)
tuner=24 - Philips PAL/SECAM multi (FQ1216ME)
tuner=25 - LG PAL_I+FM (TAPC-I001D)
tuner=26 - LG PAL_I (TAPC-I701D)
tuner=27 - LG NTSC+FM (TPI8NSR01F)
tuner=28 - LG PAL_BG+FM (TPI8PSB01D)
tuner=29 - LG PAL_BG (TPI8PSB11D)
tuner=30 - Temic PAL* auto + FM (4009 FN5)
tuner=31 - SHARP NTSC_JP (2U5JF5540)
tuner=32 - Samsung PAL TCPM9091PD27
tuner=33 - MT20xx universal
tuner=34 - Temic PAL_BG (4106 FH5)
tuner=35 - Temic PAL_DK/SECAM_L (4012 FY5)
tuner=36 - Temic NTSC (4136 FY5)
tuner=37 - LG PAL (newer TAPC series)
tuner=38 - Philips PAL/SECAM multi (FM1216ME MK3)
tuner=39 - LG NTSC (newer TAPC series)
tuner=40 - HITACHI V7-J180AT
tuner=41 - Philips PAL_MK (FI1216 MK)
tuner=42 - Philips 1236D ATSC/NTSC dual in
tuner=43 - Philips NTSC MK3 (FM1236MK3 or FM1236/F)
tuner=44 - Philips 4 in 1 (ATI TV Wonder Pro/Conexant)
tuner=45 - Microtune 4049 FM5
tuner=46 - Panasonic VP27s/ENGE4324D
tuner=47 - LG NTSC (TAPE series)
tuner=48 - Tenna TNF 8831 BGFF)
tuner=49 - Microtune 4042 FI5 ATSC/NTSC dual in
tuner=50 - TCL 2002N
tuner=51 - Philips PAL/SECAM_D (FM 1256 I-H3)
tuner=52 - Thomson DTT 7610 (ATSC/NTSC)
tuner=53 - Philips FQ1286
tuner=54 - tda8290+75
tuner=55 - TCL 2002MB
tuner=56 - Philips PAL/SECAM multi (FQ1216AME MK4)
tuner=57 - Philips FQ1236A MK4
tuner=58 - Ymec TVision TVF-8531MF/8831MF/8731MF
tuner=59 - Ymec TVision TVF-5533MF
tuner=60 - Thomson DTT 761X (ATSC/NTSC)
tuner=61 - Tena TNF9533-D/IF/TNF9533-B/DF
tuner=62 - Philips TEA5767HN FM Radio
tuner=63 - Philips FMD1216ME MK3 Hybrid Tuner
tuner=64 - LG TDVS-H06xF
tuner=65 - Ymec TVF66T5-B/DFF
tuner=66 - LG TALN series
tuner=67 - Philips TD1316 Hybrid Tuner
tuner=68 - Philips TUV1236D ATSC/NTSC dual in
tuner=69 - Tena TNF 5335 and similar models
tuner=70 - Samsung TCPN 2121P30A
tuner=71 - Xceive xc3028
tuner=72 - Thomson FE6600
tuner=73 - Samsung TCPG 6121P30A



-

FEDORA CORE 14 Linux - Konfiguracja L2TP/IPsec

, piątek, 11 lutego 2011 0 komentarze

Chciałbym przedstawić sposób na skonfigurowanie połączenia L2TP/IPsec w Fedorze. Trochę się z tym tematem ostatnio pomęczyłem i jeżeli kouś to pomoże to przedstawię tutaj procedurę "krok po kroku" jak to wykonać.

No to zacznijmy od początku, czyli od ściągnięcia odpowiednich pakietów, czyli:
1. OpenSWAN
2. xl2tpd

Następnie zabieramy się za przygotowanie klucza i bazy kluczy NSS. Zakładam, że w posiadaniu jest klucz w postaci pkcs12, jeżeli nie a mamy 2 certyfikaty i klucz prywatny w osobnych plikach tekstowych (format PEM) to należy wykonać następującą komendę do stworzenia klucza pkcs12:

openssl pkcs12 -export -in cert.pem -inkey user.key -certfile cacert.pem -out certkey.p12 -name 'masl-12'

Oczywiście w powyższej instrukcji można użyć dowolnej nazwy, w tym przypadku należy zmianić 'masl-12' na dowolnie wybrany ciąg znaków. Po naciśnięciu w terminalu nastąpi prośba o podanie hasła do klucza prywatnego ("Enter pass phrase for user.key:"), które to hasło należy mieć i w tym momencie wpisać. Po wpisaniu poprawnym hasła powinno nastąpić pytanie o hasło exportu ("Enter Export Password:") tutaj wpisujemy dowolne hasło i po potwierdzamy wpisując je ponownie. Po wykonaniu powyżej opisanych króków powinein zostać utworzony w bieżącym katalogu plik o nazwie 'certkey.p12'.

Teraz plik z danymi PKCS#12 utworzony w poprzednim kroku należy zaimportować do bazy kluczy i certyfikatów. Wcześniej jednak musimy sobie stworzyć nową bazę (lub raczej nowe bazy) i robimy to przy pomocy następujacej komendy:
su -c "certutil -N -d /etc/ipsec.d"

Po jej wywołaniu zostaniemy poproszeni o podanie hasła ROOT-a (wpisujemy odpowiednie hasło) a następnie o nowe hasło i jego powtórzenie ("Enter new password:", "Re-enter password:") do nowotworzonej bazy kluczy. Można to hasło pozostawić puste poprzez wykonanie bez podawania czegokolwiek. Po tej operacji powinny zostać utworzone następujące pliki w katalogu '/etc/ipsec.d': cert8.db, key3.db, secmod.db.

Teraz import pliku z danymi PKCS#12 do nowoutworzonej bazy kluczy, wykonujemy następującą komendą:
su -c "pk12util -i certkey.p12 -d /etc/ipsec.d"

W trakcie wywołania powyższej komendy zostaniemy poproszeni o hasło ROOT-a, a następnie o hasło które wprowadziliśmy przy eksporcie. Jeżeli wszystko uda ło się zrobić tak jak trzeba powinien być na terminalu wpis pk12util: PKCS12 IMPORT SUCCESSFUL.

Super udało nam się zaimportować do bazy zawartość pliku z danymi PKCS#12 - przynajmniej wszystko na to wskazuje, ale sprawdźmy. Możemy to zrobić wykorzystując komendę:
su -c "certutil -L -d /etc/ipsec.d"

No dobrze wszystko gra w takim razie przechodzimy do konfiguracji IPSEC. Po pierwsze edytujemy plik /etc/ipsec/ipsec.secrets poprzez dodanie w nim następującej linii:
: RSA "masl-12" "[hasło]"

gdzie "masl-12" oznacza nazwę klucza wprowadzoną przy eksporcie przy użyciu 'openssl', a w miejsce [hasło] należy wpisać hasło w naszym przypadku jest to pusta wartość. Zapisujemy wyedytowany plik.

Co dalej. Dalej przechodzimy do edycji pliku /etc/ipsec/ipsec.conf i tutaj usuwamy to co jest już tam wpisane i zaczyna się od 'config setup' a następnie wpisujemy to co poniżej:
config setup
nat_traversal=yes
interfaces=%defaultroute
protostack=netkey
#plutodebug=all
#plutostderrlog=/tmp/pluto.log

conn IPSEC-conn
authby=rsasig
pfs=no
rekey=yes
keyingtries=3
type=transport
left=0.0.0.0 ; <- tutaj wpisać lokalne IP (ifconfig)
leftid="C=PL, ST=Malopolska, L=Cracow, O=BleBle, CN=Marcin Slowik, E=masl@xxxx.pl"
leftcert="masl-12" ; <- nazwa certyfikatu wprowadzona w kroku z komendą openssl
leftrsasigkey=%cert
leftprotoport=17/1701
right=
rightrsasigkey=%cert
rightca=%same
rightid=@xx.yyyyy.zz
rightprotoport=17/1701
auto=add

Bardzo ważną sprawą jest podanie jako 'leftid' identyfikatora w formie DN (distinguished name) - gdy tego się nie poda przedstawimy się serwerowi w formie adresu IP i możemy mieć problem 'no RSA no RSA public key known for 0.0.0.0' na serwerze a na kliencie INVALID_KEY_INFORMATION. Pytanie skąd wziąć tą informację - odpowiedź - wykonać:
su -c "certutil -L -d /etc/ipsec.d -n masl-12"

i skopiować wartość z pola 'Subject:'. Ważne jest to że w przypadku, gdy po wykonaniu komedy 'ipsec auto --up IPSEC-conn' (opisane w dalszej części) dostaniemy błąd 'INVALID_KEY_INFORMATION' należy skopiowane wartości odwrócić, czyli przekształcić z formy
E=masl@xxxx.pl,CN=Marcin Slowik,O=BleBle,L=Cracow,ST=Malopolska,C=PL
na formę
C=PL, ST=Malopolska, L=Cracow, O=BleBle, CN=Marcin Slowik, E=masl@xxxx.pl
. Jako 'left' należy podać lokalny adres sieciowy maszyny z której się łączymy, czyli jeżeli jesteśmy w sieci lokalnej np. 192.168.1.2. Można uzyć zamiast adresu IP wartości '%defaultroute' jednak polecam wartość IP na początek i jak wszystko zacznie działać to wprowadzenie '%defaultroute' ponieważ może to być przyczyną niepotrzebnych poszukiwań co jest nie tak. Jako 'right' należy podać adres IP lub nazwę hosta docelowego / serwera - polecam przy pierwszej próbie wpisać IP potem ewentualnie nazwę (tutaj też czasem są problemy których przy pierwszym podejściu proponuję unikać). Jako 'rightid' należy wpisać po małpce FQDN (Fully Qualified Domain Name) serwera.

No dobra zróbmy pierwszą próbę czy wszystko działa w miarę dobrze. Zróbmy następującą sekwencję komend:

su
service ipsec stop
service ipsec start

Po takiej sekwencji powinniśmy dostać po wykonaniu:
tail -f /var/log/secure

mniej więcej coś takiego na końcu:
Feb 16 22:34:00 fedora pluto[3874]: loaded private key for keyid: PPK_RSA:DwBnRRRR

Ważne jest jeszcze, żeby sprawdzić czy zostało dodane połączenie o nazwie 'IPSEC-conn', czyli sprawdzenie czy w pliku '/var/log/secure' znajduje się coś w tym stylu:
Feb 16 22:34:00 fedora pluto[3874]: added connection description "IPSEC-conn"

Teraz sprawdzamy poprawność połączenia i wymiany kluczy, czyli wykonujemy z linii komend:
ipsec auto --up IPSEC-conn


Jeżeli wszystko działa poprawnie powinniśmy dostać na konsoli coś w tym stylu:
117 "IPSEC-conn" #2: STATE_QUICK_I1: initiate
004 "IPSEC-conn" #2: STATE_QUICK_I2: sent QI2, IPsec SA established transport mode {ESP=>............}

No dobra jeżeli działa to przechodzimy do następnego kroku, czyli konfiguracji xl2tp. Konfiguracja xl2tp polega na modyfikacji trzech plików. Pierwszy to /etc/ppp/chap-secrets. W tym pliku dodajemy następującą linię:

test * test *

pierwsze 'test' to user-name drugie 'test' to hasło, czyli informacje potrzebne do podstawowej autentykacji połączenia z serwerem.

Następny plik to /etc/ppp/options.l2tpd.con. Ten plik tworzymy i wypełniamy następującą treścią:

ipcp-accept-local
ipcp-accept-remote
refuse-eap
noccp
noauth
crtscts
idle 1800
mtu 1410
mru 1410
nodefaultroute
debug
lock
connect-delay 5000

No i ostatni z plików to /etc/xl2tpd/xl2tpd.conf, w którym dodajemy to co następuje:

[global]
listen-addr = 192.168.1.2

[lac L2TPS]
lns = [FQDN for serwer]
require chap = yes
refuse pap = yes
require authentication = yes
name = test
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd.con
length bit = yes


No dobra to w takim razie odpalamy xl2tpd:
service xl2tpd start

Jeżeli wszystko ok powinniśmy mieć w pliku /var/log/messages wpis:


Feb 16 23:29:06 fedora xl2tpd[4955]: Listening on IP address 192.168.1.2, port 1701

No dobra teraz odpalmy połączenie, czyli do wykonania są następujące komendy:

ipsec auto --up IPSEC-conn
echo "c L2TPS" > /var/run/xl2tpd/l2tp-control


Jeżeli po wykonaniu komend powyżej dostałeś w pliku /var/log/messages coś takiego:
Feb 17 00:40:31 fedora pppd[9709]: Warning: can't open options file /root/.ppprc: Permission denied

to proponuję przejść do ustawień polityki selinux raczej na pewno nie są to inne uprawnienia.

No dobrze dalej jak mamy połączenie to musimy zdefiniować routing dla adresów z podsieci na serwerze, ponieważ domyślnie mamy dostępny jeden adres. Można to zrobić np. dla całej puli adresów sieci prywatnej zaczynających się od 10. w sposób podany niżej:

ip route add 10.0.0.0/8 dev ppp0


Można jeszcze na przykład dodać name server, który znajduje się w sieci prywatnej na adresie 10.5.1.1 w sposób podany poniżej:

echo "nameserver 10.5.1.1" >> /etc/resolv.conf


Zamykanie wszystkiego po kolei to wykonanie skryptu:

ip route del 10.0.0.0
echo "d L2TPS" > /var/run/xl2tpd/l2tp-control
ipsec auto --down IPSEC-conn
service xl2tpd stop
service ipsec stop


To wszystko na ten temat. Mam nadzieję, że to komuś pomoże w konfiguracji połączenia VPN.

GlossyBlue Blogger by Black Quanta. Theme & Icons by N.Design Studio
Entries RSS Comments RSS