zew.IP ala Alied Telesyn

Opis dotyczyć będzie konfiguracji routera sprzętowego (RS) Allied Telesyn AR410 i serwera dostępowego postawionego na linuksie woody (LIN)

Może tak ;) w związku z problemami z moją pamięcią ;-) i zbiegiem okoliczności który spowodował zjaranie się wyżej wymienionego RS'a i zmusił do kupna nowego AR330 zamieszczam opis jak od podstaw skonfigurować RS'a wyjętego z pudełka.

Wyciągamy nowego RS'a z pudełka ;) i podpinamy się do niego COM'em za pomocą HyperTerminala, jak to zrobić chyba nie musze tłumaczyć. Logujemy się jako admin lub inny user, zależy od RS'a i klepiemy z palucha:

create config=config01.cfg
set config=config01.cfg
create ppp=0 over=syn0
set ppp=0 over=syn0 lqr=off
add ip int=eth0 ip=81.168.187.1 mask=255.255.255.248
add ip int=ppp0 ip=62.87.192.50 mask=255.255.255.252
add ip rou=0.0.0.0 mask=0.0.0.0 int=ppp0 next
enable IP


Wracamy do konfiguracji klasy C

Chodzi o to aby tak skonfigurować RS'a i LIN żeby przyznawane zew. adresy były widoczne na zewnątrz. Pamiętać należy, że RS'y pracują na sieciach a nie konkretnych adresach IP

Założenie jest takie, że dostaliśmy całą klasę C np. 81.168.187.0 - 81.168.187.255 od prowaidera.

Układ połączeń RS - LIN -LAN jest następujący:

(ppp0)RS(eth0) -> (eth0)LIN(eth1) -> inne komputery w LAN
RS ppp0= 62.87.192.50
RS eth0=81.168.187.1
LIN eth0=81.168.187.2
LIN eth1=192.168.0.1

Na RS wygląda to tak :

rs2intera_624


81.168.187.1 - RS - kieruje całą podsieć 81.168.187.0 na eth0 - to z kolei dociera do LIN na adres 81.168.187.2


Przyznana klasa IP: 81.168.187.0.-255/24 musi zostać podzielona na mniejsze podsieci.
Mój przykład zakłada, że pierwsze 8 adresów przeznaczone będzie na serwery np. (www, dns, ftp, mail itp.) Jak to wykonać na LIN o tym później.

Eth0: net
1)
IP: 81.168.187.1-6
GW: 81.168.187.2
NETWORK: 81.168.187.0/29 (255.255.255.248)
BROADCAST: 81.168.187.7
(Tą podsieć zostawiamy w spokoju, na razie nas nie interesuje i nie będzie potrzebna w tej konfiguracji ponieważ adresy z tej podsieci będą wykorzystane dla w/w serwerów www, dns itp. )

Następnie na eth1 (LAN) - oprócz wewnętrznego adresu - dodajemy jeszcze adresy IP

2)
IP: 81.168.187.9-14
GW: 81.168.187.9
NETWORK: 81.168.187.8/29 (255.255.255.248)
BROADCAST: 81.168.187.15
3)
IP: 81.168.187.17-30
GW: 81.168.187.17
NETWORK: 81.168.187.16/28 (255.255.255.240)
BROADCAS 81.168.187.31
4)
IP: 81.168.187.33-62
GW: 81.168.187.33
NETWORK: 81.168.187.32/27 (255.255.255.224)
BROADCAST:81.168.187.63
5)
IP: 81.168.187.65-126
GW: 81.168.187.65
NETWORK: 81.168.187.64/26 (255.255.255.192)
BROADCAST: 81.168.187.127
6)
IP: 81.168.187.129-254
GW: 81.168.187.129
NETWORK: 81.168.187.128/25 (255.255.255.128)
BROADCAST: 81.168.187.255

Dlaczego tyle podsieci ?

Zawsze jak liczymy podsieci stosujemy wzór : ilość sieci=2^n - 2

2 - dlatego że musimy w sieciach wziąć pod uwagę adresy SIECI i BRODCASTU (2 adresy)
Dlatego jak chcemy mieć 8 adresów na serwery - to wychodzi 8 = 2^3 - 2 = 6

Reszta dlatego - aby wykorzystana została jak największa pula adresów - dlatego jak zauważymy maska z każdą siecią się zmniejsza.
Jeżeli pierwsza podsieć ma maskę 29 - to szkoda by było zrobić kolejną podsieć 24 - bo za dużo się traci adresów IP, a wygląda to tak:

lcrzoex 161 81.168.187.33-81.168.187.62
IP inf : 81.168.187.33
IP sup : 81.168.187.62
Range : 81.168.187.32%27
Surrounding ranges :
81.168.187.32-81.168.187.63 ; 32 ; 81.168.187.32/27
81.168.187.0-81.168.187.63 ; 64 ; 81.168.187.0/26
81.168.187.0-81.168.187.127 ; 128 ; 81.168.187.0/25
81.168.187.0-81.168.187.255 ; 256 ; 81.168.187.0/24
81.168.186.0-81.168.187.255 ; 512 ; 81.168.186.0/23
81.168.184.0-81.168.187.255 ; 1024 ; 81.168.184.0/22
81.168.184.0-81.168.191.255 ; 2048 ; 81.168.184.0/21
81.168.176.0-81.168.191.255 ; 4096 ; 81.168.176.0/20
81.168.160.0-81.168.191.255 ; 8192 ; 81.168.160.0/19
81.168.128.0-81.168.191.255 ; 16384 ; 81.168.128.0/18
81.168.128.0-81.168.255.255 ; 32768 ; 81.168.128.0/17
81.168.0.0-81.168.255.255 ; 65536 ; 81.168.0.0/16
81.168.0.0-81.169.255.255 ; 131072 ; 81.168.0.0/15
81.168.0.0-81.171.255.255 ; 262144 ; 81.168.0.0/14
81.168.0.0-81.175.255.255 ; 524288 ; 81.168.0.0/13
81.160.0.0-81.175.255.255 ; 1048576 ; 81.160.0.0/12

Teraz widać - które adresy się pokrywają - np. podsieć /26 zawiera w sobie podsieć /27.

Adresy IP serwerów to 1-6 - skoro RS ma adres IP 81.168.187.1 to warto żeby serwer miał adres IP 81.168.187.2 lub 81.168.187.6. Ja zakładam, że IP LIN to 81.168.187.2

OK, mamy podzielone podsieci teraz pora na : (mówimy o RS'ie)
1) nadanie IP z odpowiednia maska:
2) dodać pozostałe podsieci do konfiguracji - uwzględniając GW zawsze taki sam (IP linuksa eth0)
3) restart routera.

Add_1 )
U mnie na RS'ie robi się to w następujący sposób :
Configuration/Internet Protocol/Interfaces i ustawienie IP na 81.168.187.1/29 (metmask 255.255.255.248).
A wygląda to tak:
rs4moniipa_632


Add_2 ) dodajemy pozostałe podsieci

U mnie na RS'ie robi się to w następujący sposób :
Configuration/Internet Protocol/Static routes
- teraz dodajemy kolejne podsieci: ADD
- net IP Add - adres sieci
- maska - odpowiednia dla danej klasy
- NEXT HOPE - to jest dokładnie GW - zawsze ten sam - czyli IP LIN

A wygląda to tak:
rs3routea_624


Wspomniałem wcześniej, że RS AR330 nie mam interfejsu via www więc wszystko trzeba klepnąć z palca. A można to zrobić w następujący sposób:

ADD IP ROUTE=81.168.187.8 MASK=255.255.255.248 INTERFACE=ETH0 NEXTHOP= 81.168.187.2
ADD IP ROUTE=81.168.187.16 MASK=255.255.255.240 INTERFACE=ETH0 NEXTHOP=81.168.187.2
ADD IP ROUTE=81.168.187.32 MASK=255.255.255.224 INTERFACE=ETH0 NEXTHOP=81.168.187.2
ADD IP ROUTE=81.168.187.64 MASK=255.255.255.192 INTERFACE=ETH0 NEXTHOP=81.168.187.2
ADD IP ROUTE=81.168.187.128 MASK=255.255.255.128 INTERFACE=ETH0 NEXTHOP=81.168.187.2

Po każdej komendzie powinno pokazać się:
Info (105275): IP route successfully added.

Teraz możemy sprawdzić tablice routingu w następujący sposób:

show ip route

i otrzymamy następującą tabelkę:

IP Routes
-------------------------------------------------------------------------------
Destination Mask NextHop Interface Age
DLCI/Circ. Type Policy Protocol Metrics Preference
-------------------------------------------------------------------------------
0.0.0.0 0.0.0.0 0.0.0.0 ppp0 432
- direct 0 static 1 360
62.87.192.48 255.255.255.252 0.0.0.0 ppp0 432
- direct 0 static 1 0
81.168.187.0 255.255.255.248 81.168.187.2 ppp0 432
- direct 0 static 1 0
81.168.187.8 255.255.255.248 81.168.187.2 ppp0 177
- direct 0 static 1 60
81.168.187.16 255.255.255.240 81.168.187.2 ppp0 150
- direct 0 static 1 60
81.168.187.32 255.255.255.224 81.168.187.2 ppp0 136
- direct 0 static 1 60
81.168.187.64 255.255.255.192 81.168.187.2 ppp0 136
- direct 0 static 1 60
81.168.187.128 255.255.255.128 81.168.187.2 ppp0 126
- direct 0 static 1 60

Można jeszcze wyedytować config i wpisać wszystko na stałe, cały konfig wygląda następująco:

edit config01.cfg

# SYSTEM configuration
set help=181-01.hlp

# USER configuration
set user=admin pass=5fdsdf45cdas43daabfrsae0dfsnasa4r9asd7a98sd32rs priv=admin
set user=admin desc="Adin Account" telnet=yes

# PPP configuration
create ppp=0 over=syn0
set ppp=0 over=syn0 lqr=off

# IP configuration
enable ip
add ip int=eth0 ip=81.168.187.1 mask=255.255.255.248
add ip int=ppp0 ip=62.87.192.50 mask=255.255.255.252
add ip rou=0.0.0.0 mask=0.0.0.0 int=ppp0 next=0.0.0.0
add ip rou=81.168.187.8 mask=255.255.255.248 int=eth0 next=81.168.187.2
add ip rou=81.168.187.16 mask=255.255.255.240 int=eth0 next=81.168.187.2
add ip rou=81.168.187.32 mask=255.255.255.224 int=eth0 next=81.168.187.2
add ip rou=81.168.187.64 mask=255.255.255.192 int=eth0 next=81.168.187.2
add ip rou=81.168.187.128 mask=255.255.255.128 int=eth0 next=81.168.187.2

Czyli RS'a mamy już skonfigurowanego ;)

Pora zająć się linuksem, czyli dodajemy wyżej wymienione podsieci. Jeżeli masz iproute2 to możesz użyć polecenia ip. A wygląda to tak:

Dodajemy pierwszą sieć na LIN na karcie eth1 (LAN). Małe wyjaśnienie: dlatego eth1:0 ponieważ samo eth1 ma już przypisany adres wew. 192.168.0.1

ip a a 81.168.187.9/29 brd + dev eth1 label eth1:0

i następnie kolejne podsieci:

ip a a 81.168.187.17/28 brd + dev eth1 label eth1:1
ip a a 81.168.187.33/27 brd + dev eth1 label eth1:2
ip a a 81.168.187.65/26 brd + dev eth1 label eth1:3
ip a a 81.168.187.129/25 brd + dev eth1 label eth1:4

Teraz możemy sprawdzić czy wszystko poszło OK poleceniem

ip a
eth1: mtu 1500 qdisc htb qlen 1000
link/ether 00:40:f4:86:f7:dd brd ff:ff:ff:ff:ff:ff
inet 81.168.187.9/29 brd 81.168.187.15 scope global eth1:0
inet 81.168.187.17/28 brd 81.168.187.31 scope global eth1:1
inet 81.168.187.33/27 brd 81.168.187.63 scope global eth1:2
inet 81.168.187.65/26 brd 81.168.187.127 scope global eth1:3
inet 81.168.187.129/25 brd 81.168.187.255 scope global eth1:4

Pora na chwile prawdy ;)
Teraz na jakimś kompie w LAN nadaj adres:
IP: 81.168.187.10/29
maska 255.255.255.248
brama: 81.168.187.9

i sprawdź połączenie np. jakimś pingiem

ping 212.77.100.101

Jeżeli otrzymasz odpowiedz znaczy to, że działa :)

Zakres adresów IP dla poszczególnych podsieci bierzemy z rozpiski przedstawionej powyżej np:
IP: 81.168.187.9-14
GW: 81.168.187.9
NETWORK: 81.168.187.8/29
BROADCAST: 81.168.187.15

I tak dalej.

08-6-2007 18:41:19