Linux Yönlendirici Nasıl
UlakNET IPv6, özgür ansiklopedi
Konu başlıkları |
[değiştir] Debian
Debian işletim sistemi de diğer linux işletim sistemleri gibi kernel (ftp.kernel.org.tr) kullanmaktadır. Bu kernel işletim sistemlerine göre bazen değiştirilmekle beraber genelde aynıdır. Nitekim doğrudan bu kernel (çekirdek) ilgili siteden indirilip derlenebilir. Bu konuya çok girmemekle beraber eğer Linux işletim sistemini sadece masaüstü olarak kullanmayacağım diyorsanız, çekirdek derleme işine girmeniz yararlı olacaktır. Önceden yüklü çekirdekler genelde modüler gelir. Kısaca bazı fonksiyonlar çekirdek ilk yüklendiğinde çalıştırılabileceği gibi daha sonradan da eklenebilir.
modprobe, lsmod, rmmod ve insmode gibi uygulamalar modül kullanımında yarar sağlamaktadır. Genel olarak bu dosyalar her Linux işletim sisteminde aynıdır. Değişen ise modüllerin yada ayarların her dağıtıma göre değişmesidir.
Burada debian dağıtımı için anlatılacak ayarlar genel itibari ile kullandığınız sürüme benzer olacaktır. Özellikle komut satırından girilen ayarlar daha uyumlu olacaktır.
[değiştir] İlk Yükleme
Daha önce de belirttiğimiz gibi IPv6 desteğini çekirdek içerisine gömmedi iseniz;
# modprobe ipv6
Bu komut IPv6'yı yüklemenizi sağlayacaktır. Eğer modül yoksa hata mesajı dönecektir. lsmod komut ile de yüklü modüller rahatlıkla görülebilir.
# lsmod | grep ipv6
nf_conntrack_ipv6 21212 1
nf_conntrack 60040 6 nf_conntrack_netlink,nf_nat,nf_conntrack_ftp,nf_conntrack_ipv6,nf_conntrack_ipv4,xt_state
nfnetlink 7576 5 nf_conntrack_netlink,nf_nat,nf_conntrack_ipv6,nf_conntrack_ipv4,nf_conntrack
ipv6 252960 33 nf_conntrack_ipv6
# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:11:FE:78:30:F8
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:201 Memory:f8000000-f8011100
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:11 errors:0 dropped:0 overruns:0 frame:0
TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:793 (793.0 b) TX bytes:793 (793.0 b)
sit0 Link encap:IPv6-in-IPv4
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Görüldüğü gibi IPv6 aktif hale geldi. Şimdi IPv6 tanımlamaları nasıl yapılır ona bakacağız.
Burada dikkat edilmesi gereken bir husus vardır. IPv6 esasen bir DHCP gibi çalışmaktadır. Yani otomatik olarak IP (daha doğrusu prefiks) dağıtmaktadır. Bu sayede kullanıcı sistemleri otomatik olarak IP adreslerini oluşturabilmektedirler. Fakat bu sistem bir DHCP mekanizması değildir. Halbuki kullanıcı eski IPv4'den gelen alışkanlık ile bunu DHCP gibi düşünmektedir. Bu sistem bazen dezavantaj olabilmektedir. Çünkü DNS ayarlarını kullanıcı kendisi yapmalıdır. DNS ayarları olmayan sistemler çalışmamaktadır.
# netstat -6r
Kernel IPv6 routing table
Destination Next Hop Flags Metric Ref Use Iface
::1/128 :: U 0 0 1 lo
2001:98:20:1:218:feff:fe78:30fa/128 :: U 0 1511 1 lo
2001:98:20:1::/64 :: UA 256 1505 0 eth1
fe80::20d:29ff:fe54:9ec5/128 fe80::20d:29ff:fe54:9ec5 UC 0 3 0 eth1
fe80::218:feff:fe78:30fa/128 :: U 0 253 1 lo
fe80::/64 :: U 256 0 0 eth1
ff00::/8 :: U 256 0 0 eth1
::/0 fe80::20d:29ff:fe54:9ec5 UGDA 1024 22 0 eth1
Görüldüğü gibi default-routing (::/0) bağlantı-yerel (link-local) adresi üzerinden yönlendirici ile görüşmektedir. Esasen sistem ayrıca bir default-routing yayınlamıyor. Ama IPv6'nın doğası gereği haberleşmeyi rahatlıkla sağlamaktadır.
# ping6 -I eth1 fe80::20d:29ff:fe54:9ec5
PING fe80::20d:29ff:fe54:9ec5(fe80::20d:29ff:fe54:9ec5) from fe80::218:feff:fe78:30fa eth1: 56 data bytes
64 bytes from fe80::20d:29ff:fe54:9ec5: icmp_seq=1 ttl=64 time=0.349 ms
64 bytes from fe80::20d:29ff:fe54:9ec5: icmp_seq=2 ttl=64 time=0.351 ms
--- fe80::20d:29ff:fe54:9ec5 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
# ifconfig eth0 inet6 add 2001:98:20::1/64 IPv6 adresi ekler.
# ifconfig eth0 inet6 del 2001:98:20::1/64 IPv6 adresi siler.
# route --inet6 add 2001:a::/64 gw 2001:98::1 IPv6 yönlendirmesi ekler.
# route --inet6 add default gw 2001:98::1 IPv6 varsayılan yönlendirmesini ekler.
# route --inet6 del 2001:a::/64 gw 2001:98::1 IPv6 yönlendirmesi siler.
veya iproute paketi yüklü ise (aptitude install iproute );
# ip -6 addr add 2001:98:20::1/64 dev eth0 IPv6 adresi ekler.
# ip -6 addr del 2001:98:20::1/64 dev eth0 IPv6 adresi siler.
# ip -6 route add default via 2001:98::1 dev eth0 IPv6 varsayılan yönlendirmesini ekler.
# ip -6 route del default via 2001:98::1 dev eth0 IPv6 varsayılan yönlendirmesini siler.
Her açılışta otomatik olarak IPv6 ayarlarını yapmak istiyorsanız (elle ayarlamamak için);
# vi /etc/network/interfaces
..
..
# IPv6 settings
iface eth0 inet6 static
pre-up modprobe ipv6
address 2001:98:20::15
netmask 64
gateway 2001:98:20::1
..
..
[değiştir] Sysctl
sysctl net.ipv6.conf.default.forwarding = 1
Bu satır ile IPv6 yönlendirmeyi aktif hale getirmiş olursunuz. Evet bu iş bu kadar basit. Eğer daha kompleks sistemler (Bgpv6, Ospfv6 gibi) tasarlamak istiyorsanız zebra kısmına bakınız.
sysctl net.ipv6.conf.eth0.forwarding = 0
Bu satır ile eth0 arayüzünün IPv6 yönlendirme yapmasını engellemiş olursunuz. Eğer tüm arayüzlerinizin yönlendirme yapmasını istemiyorsanız iyi olur. Hatta güvenlik için yönlendirme yapmayacağınız arayüzlerini engellemek iyi bir alışkanlık olabilir.
[değiştir] IPv6 İptali
IPv6 Linux sistemlerinde varsayılan olarak yüklü gelmektedir. IPv6'nin her açılışta yüklenmemesini istiyorsanız;
# vi /etc/modprobe.d/aliases
..
..
- alias net-pf-10 ipv6
+ alias net-pf-10 off
+ alias ipv6 off
..
Görüldüğü gibi ilk satırı kaldırıp, yerine diğer iki satırı ekleyip, sistemi yeniden başlatırsanız IPv6'nın yüklenmesini engellemiş olursunuz.
--Hdemir 11:10, 27 Eylül 2007 (EEST)

