wtorek, 6 lipca 2010

konfiguracja interfejsów sieciowych centOS

Często zdarza się tak, że chcemy aby po restarcie serwera uzyskał on określone adresy IP, lub żeby po restarcie networka podniosły się wszystkie niezbędne numery IP.

W tym celu należy przeprowadzić edycję plików /etc/sysconfig/network-scripts/ifcfg-ethX lub stworzyć taki plik z następującą zawartością:

DEVICE=eth0 # nazwa pod którą dana karta będzie rozpoznawana
BOOTPROTO=static # tu istnieją dwie możliwości albo dynamicznie przydzielany adres - dhcp, albo statycznie
ONBOOT=yes # czy podczas uruchamiania systemu ma być dany IP'ik podnoszony,
IPADDR=192.168.1.4 # z jakim adresem ma podnieść się interfejs
NETMASK=255.255.255.0 # maska
GATEWAY=192.168.1.1 # brama domyślna dla danego interfejsu

Czasami chcemy żeby na jednej karcie sieciowej były obsługiwane dwa lub więcej numerów IP, wówczas tworzymy plik ifcfg-ethX:1 z następującą treścią:
DEVICE=eth0:1
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.5
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

Po wprowadzaniu zmian w plikach konfiguracyjnych restartujemy networka:
/etc/init.d/network restart
i sprawdzamy czy są dany interfejs podniósł się z właściwymi numerami IP:

[root@komp-1-4 network-scripts]# ip a
1: lo: mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 08:00:27:a0:76:a4 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.4/24 brd 192.168.1.255 scope global eth0
inet 192.168.1.5/24 brd 192.168.1.255 scope global secondary eth0:1
inet6 fe80::a00:27ff:fea0:76a4/64 scope link
valid_lft forever preferred_lft forever


lub:
eth0 Link encap:Ethernet HWaddr 08:00:27:A0:76:A4
inet addr:192.168.1.4 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fea0:76a4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:588 errors:0 dropped:0 overruns:0 frame:0
TX packets:542 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:55487 (54.1 KiB) TX bytes:63769 (62.2 KiB)
Interrupt:11 Base address:0xd020

eth0:1 Link encap:Ethernet HWaddr 08:00:27:A0:76:A4
inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:11 Base address:0xd020


Czasami zdarza się też, że nie chcemy edytować żadnych plików tylko podnieść wybrany interfejs z określonym numerem ip wtedy wpisujemy np.:
ifconfig eth0:2 192.168.1.6 netmask 255.255.255.0

I sprawdzamy czy zadziałało poprawnie:
[root@komp-1-4 network-scripts]# ip a
1: lo: mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 08:00:27:a0:76:a4 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.4/24 brd 192.168.1.255 scope global eth0
inet 192.168.1.5/24 brd 192.168.1.255 scope global secondary eth0:1
inet 192.168.1.6/24 brd 192.168.1.255 scope global secondary eth0:2
inet6 fe80::a00:27ff:fea0:76a4/64 scope link

Adresy IP podniesione za pomocą polecenia ifconfig po restarcie nie zostaną automatycznie uruchomione.


Z ciekawszy rzeczy można też wyświetlić tablicę routingu przez polecenie route.
Co jest ciekawe przeważnie w listingu tego polecenia nie ma podanej bramy domyślnej:
route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 1 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 eth0
default NOT-AVIABLE-ERR 0.0.0.0 UG 0 0 0 eth0

Bramę domyślną można dodać za pomocą następującego polecenia (to polecenie wykonuję gdy nie mam już pomysłów jak sprawić aby dana sieciówka pingowała poprawnie):
route add -net default gw 192.168.1.1 dev eth0

Można też dodać za pomocą polecenia route trasę do wybranego hosta lub sieci:
route add -host 212.77.100.101 dev eth0
route add -net 212.77.100.101 netmask 255.255.255.0 gw 10.0.10.2 dev eth0

Przydatne mogą się również okazać polecenia ip np.:
ip addr add 212.77.100.101/24 dev eth0
czyli uruchomienie eth0 z numerem ip 212.77.100.101 z maską 24

ip addr add 212.77.100.102/24 dev eth0
czyli dodanie aliasu do już skonfigurowanie eth0

ip ro add 212.77.100.200/32 dev eth2
dodanie trasy do komputera o numerze ip 212.77.100.200 przez interfejs eth2

ip ro add 172.16.0.0/16 via 10.0.10.2 dev eth1
dodanie trasy do sieci 172.16.0.0 przez bramę 10.0.10.2 i interfejs eth1.

ip ro add default via 10.0.10.1 dev eth0
dodanie trasy domyślnej przez numer ip 10.0.10.1 i eth0


Często zdarza się, że przenosimy serwis internetowy na inny serwer i chcemy sprawdzić czy wszystko działa poprawnie ale nie możemy, ponieważ domena w dalszym ciągu wskazuje na stary serwer.
Wówczas należy przeprowadzić edycję pliku /etc/hosts.

W celu zademonstrowania jak to działa pingujemy wp.pl:
ping wp.pl
PING wp.pl (212.77.100.101) 56(84) bytes of data.
64 bytes from www.wp.pl (212.77.100.101): icmp_seq=1 ttl=250 time=26.2 ms

Edytujemy /etc/hosts i wstawiamy:
100.100.100.100 wp.pl

Pingujemy wp.pl ponownie:
ping wp.pl
PING wp.pl (100.100.100.100) 56(84) bytes of data.

Na łyndowsie też znajduje się plik hosts (lub host) ale jego dokładnej lokalizacji niestety w tej chwili nie jestem w stanie przytoczyć.

Z przydatnych rzeczy to można czasami zmienić mac adres karty sieciowej (gdy administrator sieci jest lammerem to można się pod kogoś podszyć i korzystać z netu za free - przynajmniej dopóki nas nie złapią):
ifconfig eth0 down
ifconfig eth0 hw ether 00:80:48:BA:d1:30
ifconfig eth0 up

Przydatne też może okazać się znajomość programów typu wireshark, tcpdump, iptraf oraz netstat ale to pewnie po opiszę w najbliższej przyszłości.


Acha jeżeli jesteśmy niedobrzy to możemy wprowadzić kartę w tryb nasłuchu (zasysamy wszystkie pakiety, nie tylko te kierowane do nas):
ifconfig eth0 promisc


A jeżeli chcemy się dowiedzieć jak mieć darmowy internet w sieciach z dhcp (nie polecam, bo to przecież kradzież jest - ale w celach edukacyjnych zawsze można poczytać):
http://newbie.linux.pl/wydruk.php?wydruk=187&show=artykul

Brak komentarzy:

Prześlij komentarz