Handbook:Parts/Installation/Networking
Otomatik ağ tanıma
Belki kendiliğinden çalışır?
Sisteminiz eğer DHCP sunucu olan bir ethernet ağına bağlı ise, herhangi bir ayar yapmanıza gerek olmayabilir. Eğer bağlanırsanız kurulum CD'sinde internetten kurulum yapmanızı sağlayacak ssh
, scp
, ping
, irssi
, wget
ve links
gibi komutlar anında işe yarar hale gelecektir.
Determine interface names
ifconfig command
Eğer ağa bağlandıysanız ifconfig
komutu lo
haricinde eth0
gibi farklı ağlar da listeleyecektir:
root #
ifconfig
(...) eth0 Link encap:Ethernet HWaddr 00:50:BA:8F:61:7A inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::50:ba8f:617a/10 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0 TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0 collisions:1984 txqueuelen:100 RX bytes:485691215 (463.1 Mb) TX bytes:123951388 (118.2 Mb) Interrupt:11 Base address:0xe800
Arayüz ismi eth0
'dan farklı olabilir. Güncel kurulum ortamlarında donanıma bağlı olarak bu isim eno0
, ens1
veya enp5s0
şeklinde de görülebilmekte. Sadece ifconfig
çıktısında yerel ağınızla ilişkili bir IP alan ağ bağlantısını arayın.
If no interfaces are displayed when the standard ifconfig command is used, try using the same command with the
-a
option. This option forces the utility to show all network interfaces detected by the system whether they be in an up or down state. If ifconfig -a produces no results then the hardware is faulty or the driver for the interface has not been loaded into the kernel. Both situations reach beyond the scope of this Handbook. Contact #gentoo (webchat) for support.ip command
As an alternative to ifconfig, the ip command can be used to determine interface names. The following example shows the output of ip addr (of another system so the information shown is different from the previous example):
root #
ip addr
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff inet 10.0.20.77/22 brd 10.0.23.255 scope global eno1 valid_lft forever preferred_lft forever inet6 fe80::ea40:f2ff:feac:257a/64 scope link valid_lft forever preferred_lft forever
The interface name in the above example directly follows the number; it is eno1.
Biz dökümanımızda örnek bağlantı ismi olarak eth0
kullanacağız.
Seçime bağlı: Proxy (ağ geçidi) ayarlama
Eğer internete ağ geçidi kullanarak bağlanıyorsanız, doğru olarak yapılandırmanız gerekmektedir. Bu yapılandırma kolaydır, sadece bir değişken tanımlamanız gerektiği anlamına gelir.
Certain text-mode web browsers such as links can also make use of environment variables that define web proxy settings; in particular for the HTTPS access it also will require the https_proxy environment variable to be defined. While Portage will be influenced without passing extra run time parameters during invocation, links will require proxy settings to be set.
Çoğu durumda sunucunuzun adını veya IP adresini kullanarak bir değişken tanımı yetmektedir. Örnek olarak ağ geçidimizin proxy.gentoo.org ve kullandığı portun 8080 olduğunu varsayalım.
The
#
symbol in the following commands is a comment. It has een added for clarity only and does not need to be typed when entering the commands.Şimdi (HTTP ve HTTPS trafik için) bir HTTP ağ geçidi yapılandırması yapalım:
root #
export http_proxy="http://proxy.gentoo.org:8080"
Eğer bu geçitler bir kullanıcı adı ve parola istiyor ise, değişkenleri aşağıdaki şekilde tanımlayabilirsiniz:
http://kullanıcıadı:parola@proxy.gentoo.org:8080
Start links using the following parameters for proxy support:
user $
links -http-proxy ${http_proxy} -https-proxy ${https_proxy}
FTP ağ geçidi tanımı yapmak için de:
root #
export ftp_proxy="ftp://proxy.gentoo.org:8080"
Start links using the following parameter for a FTP proxy:
user $
links -ftp-proxy ${ftp_proxy}
RSYNC ağ geçidi yapılandırması:
root #
export RSYNC_PROXY="proxy.gentoo.org:8080"
Bağlantıyı test etmek
Öncelikle DNS sunucunuzu (/etc/resolv.conf dosyasında genelde tanımlı olur) ve seçtiğiniz bir siteyi pinglemeyi deneyin. Bu sayede ağ bağlantısının düzgün çalıştığından, paketlerin internete ulaştığından ve DNS çözümlemesinin gerçekleştiğinden emin olabilirsiniz.
root #
ping -c 3 www.gentoo.org
Eğer bağlanabildiyseniz, bu makaleyi geçip sonraki adım olan diskleri hazırlama'ya geçebilirsiniz.
Otomatik ağ yapılandırması
Eğer ağ çalışmazsa, bazı kurulum ortamlarının sunduğu ayarları kullanabilirsiniz. Bunlar arasında net-setup
(normal kablolu/kablosuz ağlar için), pppoe-setup
(ADSL direkt bağlantıları için) ve pptp
(PPTP bağlantıları için) sayılabilir.
Eğer kurulum ortamınızda bu araçlar bulunmuyorsa, Elle ağ yapılandırma bölümünden devam edin.
Öntanımlı seçenek: net-setup kullanmak
Otomatik olarka bağlanmadıysanız ağa bağlanmanın en kolay yolu net-setup
kullanmaktır:
root #
net-setup eth0
net-setup
komutu bağlantı ortamıyla ilgili bazı sorular soracaktır. Tmamlandığında ağ bağlantısının başlaması beklenir. Önceki adımlarda anlatıldığı gibi, bağlantınızı test edin. Eğer bağlandıysanız, tebrikler! Sayfanın devamını es geçip, diskleri hazırlama adımına gidebilirsiniz.
Eğer bağlantı halen çalışmıyorsa, Elle ağ yapılandırma bölümünden devam edin.
Alternatif: PPP kullanmak
İnternete bağlanmak için PPPoE bağlantısı ihtiyacı duyuyorsanız, kurulum CD'sindeki ppp aracı ile bu işlemi gerçekleştirebilirsiniz. Yardımcı pppoe-setup
betiğini kullanarak bağlantınızı sağlayın. Kurulum sırasında bağlantı yaptığınız ethernet aygıtı, kullanıcı adınız, parolanız, DNS sunucularınız ve güvenlik duvarı isteyip istemediğiniz sorulacaktır.
root #
pppoe-setup
root #
pppoe-start
Eğer bir hata oluşursa, kullanıcı adı ve parolanızın etc/ppp/pap-secrets veya /etc/ppp/chap-secrets dosyasında doğru girildiğine ve doğru ethernet aygıtı ismi bulunduğuna emin olun. Eğer ethernet donanımı görülmüyorsa, gereken modüller yüklenmemiş olabilir. Bu konuyla ilgili detaylı bilgiyi elle ağ yapılandırma bölümünden alabilirsiniz.
Bağlantı sağladıysanız, diskleri hazırlama adımına gidebilirsiniz.
Alternatif: PPTP kullanmak
PPTP desteği gerekliyse, kurulum CD'sinde sağlanan pptpclient
komutunu kullanın. Ancak öncelikle yapılandırmanın doğru olduğuna emin olun. Bunun için /etc/ppp/pap-secrets veya /etc/ppp/chap-secrets dosyalarını kontrol edip doğru kullanıcı adı/parola girili olduğuna emin olun:
root #
nano -w /etc/ppp/chap-secrets
Ardından gerekli ise /etc/ppp/options.pptp dosyasını düzenleyin:
root #
nano -w /etc/ppp/options.pptp
Tamamladıysanız sunucuya bağlanmak için pptp
komutunu çalıştırın:
root #
pptp <sunucu ip'si>
Diskleri hazırlama bölümünden devam edebilirsiniz.
Elle ağ yapılandırma
Gerekli ağ modüllerinin yüklenmesi
Kurulum CD'si başladığında, tüm donanımı tarayıp gerekli modülleri (sürücüleri) yüklemeye çalışır. Bu durum çoğu sistem için yeterlidir. Ancak bazı durumlarda otomatik olarak yüklenmeyen bazı sürücüler gerekebilir.
Eğer net-setup
veya pppoe-setup
hata verip sonlandıysa, bunun sebebi ağ donanımının bulunamaması olabilir. Bu durum, kullanıcının modülü elle yüklemesi gerektiği anlamına gelmektedir.
Ağ için hangi modüllerin bulunduğunu görmek için ls
kullanabiliriz:
root #
ls /lib/modules/`uname -r`/kernel/drivers/net
Eğer donanımınız için gerekli modülü bulursanız, modprobe
komutuyla yükleyin. Örneğin pcnet32 modülü için:
root #
modprobe pcnet32
Modülü yüklemenin ardından donanımın tanınıp tanınmadığını ifconfig
komutuyla görebilirsiniz. Tanınan bir ağ donanımı aşağıdaki gibi görünecektir (örnek olarak eth0 diyelim):
root #
ifconfig eth0
eth0 Link encap:Ethernet HWaddr FE:FD:00:00:00:00 BROADCAST NOARP 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:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Eğer aşağıdaki gibi bir hata oluştuysa, aygıt bulunamamıştır:
root #
ifconfig eth0
eth0: error fetching interface information: Device not found
Sistemde kullanılabilecek arayüz isimleri /sys içerisinde görülebilir:
root #
ls /sys/class/net
dummy0 eth0 lo sit0 tap0 wlan0
Yukarıdaki örnekte 6 arayüz bulundu. Büyük ihtimalle eth0 kablolu (ethernet) donanımının, wlan0 ise kablosuz ağ arayüzünün ismidir.
Ağ arayüzünüzün tanındığını varsayarsak, net-setup
veya pppoe-setup
komutlarını tekrar deneyebilirsiniz. Halen olmadıysa, ileriki adımlarda elle ayarlamayı detaylı anlatacağız.
Ağ ortamınıza göre size uygun başlığı seçin:
- Otomatik IP alıyorsanız DHCP kullanmak
- Kablosuz ağınız var ise kablosuz bağlantı için hazırlık
- Temel ağ bilgileri için ağ terminolojisini anlamak
- Elle yapılandırmayı uygulamak için ifconfig ve route kullanımı
- Using DHCP for automatic IP retrieval
- Preparing for wireless access if a wireless network is used
- Understanding network terminology explains the basics about networking
- Using ifconfig and route explains how to set up networking manually
DHCP kullanmak
DHCP (Dynamic Host Configuration Protocol), ağ yapılandırmasına ait bilgileri (IP adresi, ağ maskesi, yayın/broadcast adresi, isim sunucuları vb.) otomatik olarak dağıtmayı sağlayan bir protokoldür. Bu, bağlı olduğunuz ağda DHCP sunucu bulunuyorsa mümkündür. Ağınızdan bunu talep etmek için dhcpcd
kullanabilirsiniz:
root #
dhcpcd eth0
Bazı ağ yöneticileri sistemlerde DHCP sunucudan verilen makine isimlerinin kullanılmasını isteyebilir, bu durumda:
root #
dhcpcd -HD eth0
Eğer işe yararsa (yaradığını anlamak için internetteki bir adresi pingleyin, Google gibi) devam etmeye hazırsınız demektir. Diskleri hazırlama adımına geçebilirsiniz.
Kablosuz bağlantı için hazırlık
iwconfig
komutuna verilen destek mimariye göre değişebilir. Eğer kullandığınız mimaride bu komutu bulamazsanız, linux-wlan-ng projesindeki yönergeleri uygulayın.Kablosuz (802.11) bir ağ kartı kullanıyorsanız, ilerlemeden önce kablosuz yapılandırmasını düzenlemeniz gerekmekte. Mevcut durumu görmek için iwconfig
kullanabilirsiniz. Çıktı şuna benzeyecektir:
root #
iwconfig eth0
eth0 IEEE 802.11-DS ESSID:"GentooNode" Mode:Managed Frequency:2.442GHz Access Point: 00:09:5B:11:CC:F2 Bit Rate:11Mb/s Tx-Power=20 dBm Sensitivity=0/65535 Retry limit:16 RTS thr:off Fragment thr:off Power Management:off Link Quality:25/10 Signal level:-51 dBm Noise level:-102 dBm Rx invalid nwid:5901 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:237 Invalid misc:350282 Missed beacon:84
To check for a current connection:
root #
iw dev wlp9s0 link
Not connected.
or
root #
iw dev wlp9s0 link
Connected to 00:00:00:00:00:00 (on wlp9s0) SSID: GentooNode freq: 2462 RX: 3279 bytes (25 packets) TX: 1049 bytes (7 packets) signal: -23 dBm tx bitrate: 1.0 MBit/s
Bazı kablosuz ağ donanımları eth0 yerine wlan0 veya ra0 olarak görülebilir. Tüm tanınan donanımları görmek için parametre vermeden sadece
iwconfig
çalıştırın.Çoğu kullanıcı için, değiştirilecek iki ayar yeterli olacaktır. ESSID (kablosuz ağ adı) ve WEP anahtarı. Eğer şifresiz bağlantı kullanıyorsanız ve erişim noktası adı komut çıktısında varsa, zaten bağlısınız demektir.
ESSID değiştirmek veya WEP anahtarı eklemek için aşağıdaki komutları kullanabilirsiniz.
- Bağlanacağınız ağın ismi EvAgiise:
root #
iwconfig eth0 essid EvAgi
- Hex WEP anahtarı atamak için:
root #
iwconfig eth0 key 1234123412341234abcd
WEP anahtarını ASCII vermek için kodun önüne s:
ekleyebilirsiniz:
root #
iwconfig eth0 key s:some-password
root #
iw dev wlp9s0 connect -w GentooNode
- To connect with a hex WEP key, prefix the key with
d:
:
root #
iw dev wlp9s0 connect -w GentooNode key 0:d:1234123412341234abcd
- To connect with an ASCII WEP key:
root #
iw dev wlp9s0 connect -w GentooNode key 0:some-password
Eğer kablosuz ağda WPA veya WPA2 şifreleme varsa
wpa_supplicant
kullanılmalıdır. Gentoo Linux üzerinde kablosuz ağ yapılandırması hakkında daha detaylı bilgi için lütfen rehberdeki kablosuz ağ bölümünü okuyun.iwconfig
komutunu tekrar çalıştırarak değişiklikleri kontrol edin. Yapılandırma doğruysa, IP katmanındaki ağ ayarlarını yapılandırmak için (ağ terminolojisini anlamak) bölümünü okuyun veya önceden anlattığımız net-setup
aracını kullanın.
Ağ terminolojisini anlamak
Eğer IP adresiniz, yayın (broadcast) adresiniz, netmask ve nameserver (isim sunucu) bilgilerinizi biliyorsanız, ifconfig ve route kullanımı kısmından devam edin.
Eğer yukardakilerin hiçbiri işe yaramazsa, elle yapılandırmanız gerekecektir. Çok zor olmasa da, bazı ağ terimlerinin bilinmesini gerektirir. Bu bölümü okuduktan sonra, kullanıcı ağ geçidinin (gateway) ne olduğunu, ağ maskesinin (netmask) ne işe yaradığını ve broadcast (yayın) adresinin nasıl oluştuğunu anlayıp, isim sunucusuna (nameserver) neden ihtiyaç duyulduğunu bilir duruma gelecektir.
Bir ağda, istemciler IP (Internet Protocol) adresleri ile tanımlanır. Şu anda yaygın olarak kullanılan IPv4 (IP sürüm 4) sistemlerde bir IP adresi 0'dan 255'e dört tane sayının kombinasyonundan oluşur. Gerçekte bir IP adresi sıfırlar ve birlerden oluşan 32 bit temsil eder. Bir örneğe bakalım:
IP Adresi (sayılar): 192.168.0.2
IP Adresi (bitler): 11000000 10101000 00000000 00000010
-------- -------- -------- --------
192 168 0 2
IPv4'ün ardından kullanılacak olan IPv6, 128 bit kullanmaktadır. Biz bu makalede IPv4 üzerine odaklanacağız.
Bir IP adresi, erişilebilen ağlar içerisinde tektir. Yani ağdaki her istemcinin/bilgisayarın adresi kendine ait olmalıdır. Ağa dahil olmayan bilgisayarların tespit edilip onlara erişim yapılabilmesi için de, bu adres ikiye bölünür: ağ bölümü ve istemci bölümü.
Bu ayrımı yapan da ağ maskesi (netmask) değeridir. Netmask değerinin bit'leri birkaç tane 1 ve toplam bit sayısını 32'ye tamamlayacak kadar 0'dan oluşur. Burdaki 1'ler ağ bölümünü, 0'lar da istemci bölümünü temsil eder. Tabi ki netmask de IP adresi gibi yazılabilir.
IP adresi: 192 168 0 2
11000000 10101000 00000000 00000010
Netmask: 11111111 11111111 11111111 00000000
255 255 255 0
+--------------------------+--------+
Ağ İstemci
Diğer bir deyişle 192.168.0.14 adresi verdiğimiz örnek ağın bir üyesidir, ancak 192.168.1.2 değildir.
Broadcast (yayın) adresinin ise ağ kısmında adresi aynı, istemci kısmında tüm bit değerleri 1'dir. Ağdaki tüm istemciler bu IP adresini dinler, çünkü bu adresin amacı herkese ulaşacak yayınların iletilmesidir.
IP adresi: 192 168 0 2
11000000 10101000 00000000 00000010
Broadcast: 11000000 10101000 00000000 11111111
192 168 0 255
+--------------------------+--------+
Ağ İstemci
Ağın dışına (yani internete) çıkabilmek için ise her bilgisayarın, ağdaki hangi istemcinin bağlantıyı dağıttığını bilmesi gerekmektedir. Bu istemci de ağ geçicidir (gateway). Normal bir istemci olduğu için, ağda normal bir adrese sahiptir (Örn. 192.168.0.1).
Her istemcinin kendine has bir IP adresi olduğundan bahsetmiştik. İstemcilere IP adresi yerine isimleri ile ulaşabilmek için, isimleri IP adresine çeviren bir servis gerekmekte. Örneğin dev.gentoo.org adresinin IP adresinin 64.5.62.82 olduğunu bilen bir servise. Bu servisin adı da "isim sunucusu"dur (DNS veya NS). Sistemin kullanacağı isim sunucularının IP adresleri /etc/resolv.conf dosyasında tanımlanmalıdır.
Genelde isim sunucusu görevini de ağ geçidi yapar. Ancak farklı bir adres ise bu dosyaya girilmelidir.
Toparlayacak olursak, devam etmeden önce bilmemiz gerekenler:
Ağ öğesi | Örnek |
---|---|
Sistemin IP adresi | 192.168.0.2 |
Ağ maskesi (netmask) | 255.255.255.0 |
Yayın adresi (broadcast) | 192.168.0.255 |
Ağ geçidi (gateway) | 192.168.0.1 |
İsim sunucu(lar) | 195.130.130.5, 195.130.130.133 |
ifconfig ve route kullanımı
Ağı yapılandırmak 3 adımdan oluşur.
ifconfig
kullanarak bir IP atanmasıroute
kullanılarak ağ geçidine trafiğin yönlendirilmesi- /etc/resolv.conf dosyasına isim sunucularının adreslerinin girilmesi
- Assign an IP address using the ifconfig command.
- Set up routing to the gateway using the route command.
- Finish up by placing valid nameserver IPs in the /etc/resolv.conf file.
IP adresi atayabilmek için atanacak IP adresi, yayın (broadcast) adresi ve ağ maskesi (netmask) değerleri bilinmelidir. ${IP_ADRESI}
yerine doğru IP adresi, ${BROADCAST}
yerine doğru yayın adresi ve ${NETMASK}
yerine doğru ağ maskesini yazarak aşağıdaki komutu çalıştırın:
root #
ifconfig eth0 ${IP_ADRESI} broadcast ${BROADCAST} netmask ${NETMASK} up
route
komutuyla doğru ağ geçidini tanıtmamız da gerekmekte. ${GATEWAY}
yerine ağ geçidinin adresini yazarak şu komutu çalıştırın:
root #
route add default gw ${GATEWAY}
Ardından /etc/resolv.conf dosyasını açın:
root #
nano -w /etc/resolv.conf
İsim sunucularını aşağıdaki şablona göre ekleyin. ${NAMESERVER1}
ve ${NAMESERVER2}
yerine doğru isim sunucusu adreslerinizi yazdığınıza emin olun:
nameserver ${NAMESERVER1}
nameserver ${NAMESERVER2}
Tamamdır. Şimdi internetteki bir sunucuyu (google vb.) pingleyerek bağlantınızı test edin. Çalışıyor ise tebrikler. Diskleri hazırlama bölümünden devam edebilirsiniz.