Kategori arşivi: Network

Network cihazları hakkında temel yapılandırmalar, IPS ve IDS cihaz kurulumları ve yapılandırma örnekleri, fortigate, palo alto firewall yapılandırma, sorunlar ve çözümleri hakkında türkçe yazılar

Fortinet NSE 1 – Ders 1(Bad Actors) Cevaplar

Soru 1: Attacking systems by exploiting otherwise unknown and unpatched vulnerabilities is also known as:

Secret sauce
Zero-day exploits
Phishing
First-day exploits

Soru 2: What are the primary motivations of the “Hacktivist”?

Political, social, or moral disagreements
The cost of commercial software and support
The appreciation of their country’s leaders
Food, wine, and gambling

Soru 3: What central component is necessary to form a botnet?

Transformer
DNS server
Command & Control (C&C) Server
Ethernet switch

Soru 4: What is it called when a fraudulent email masquerades as a legitimate communication in an attempt to get a user to reveal sensitive information?

Trolling
Harpooning
Baselining
Phishing

Soru 5: What is the goal of the “Cyber Terrorist”?

Stable world markets
Intimidation through disruption and damage
Peace through understanding
Adoption of Bitcoin as a primary national currency

Soru 6: What is the motivation of the bad actor known as the “Explorer”?

Money
Ideology
Notoriety
Food

Soru 7: What is the motivation of the “Cyber Terrorist”?

Fame
Compassion
Fortune
Ideology

Soru 8: What is the name of the malware that takes over a computer system and holds hostage the disk drives or other data?

Scareware
Ransomware
Phishingware
Kidnapware

Soru 9: What is the primary motivation of the “Cyber Warrior”?

Money
Fame
The political interest of their country’s government
The adoption of Bitcoin as a national currency

Soru 10: What is the motive of the “Cyber Criminal”?

Ideology
Intimidation
Fame
Money

Mikrotik hEX RB750Gr3 Üzerine The Dude Server Kurulumu

Bahsi geçen Router fiyat performans ürünü olmakla kalmayıp, küçük ölçekli işlemleriniz için bulunmaz nimettir. İçerisinde bulunan depolama alanı bir takım aktivitelere müsait olmamakla birlikte USB portu aracılığı ile 128 GB kadar depolama alanını arttırabilirsiniz.

Sisteme taktığınız bellek mikrotik üzerinde aşağıdaki komut ile gözükmeli, aksi bir durumda cihaz taktığınız belleği desteklemiyor olacaktır.

/disk print

Bizim diskimiz aşağıda görmüş olduğunuz gibi Toshiba TransMemory 8 GB ve bu ext3 olarak formatlanmış.

mikrotik disk yönetimi, mikrotik hEX RB750Gr3, mikrotik dude kurulumu

Sizin disk eğer ext3 değilse Type alanında fail veya benzeri bir durumla karşılaşacaksınız.

Diski unmount edip format atarak bu durumun önüne geçebilirsiniz.

/disk eject-drive 0
/disk format-drive 0 file-system=ext3

Eklenen diskin boyutu büyüdükçe formatlama süresininde artacağını unutmayın. İşlem bittikten sonra diski tekrar takmak için cihazı yeniden başlatmanızda gerekmekte.

Şimdi geldi sıra bizim cihaza uyumlu olan Dude paketini router kardeşimize kurmaya, bu aşamada uyumlu paketi resmi sitesinden indirin.

Kullandığınız cihazın yazılım sürümü ile aynı olmasına özellikle dikkat edin.

Dosyayı Winbox üzerinden Files alanı ile sisteme yükleyebilirsiniz. Taktığınız USB bellek içerisine atabilirsiniz.

mikrotik dosya yükleme, mikrotik file upload, mikrotik dude upload
/system reboot

Yüklemenin yeniden başlatma aşamasında otomatik olarak başlayacağını unutmayın. Cihaz kendine geldiğinde Winbox üzerinde Dude göreceksiniz.

Bunun veri yolunu USB belleğimize yapmamız gerekiyor. Dokümanlarda belirtildiği gibi aşağıdaki parametreler ile belirleyelim.

/dude set data-directory=disk1/dude-data

Dude sunucusunu başlatalım

/dude set enabled=yes

Durumuna bakmak için aşağıdaki komutu çalıştıralım.

/dude print
mikrotik dude server, mikrotik dude print, mikrotik dude

dipnot: Bu yazı ben kurulumu yaptıktan sonra belgelendirilmiştir.

10Gbit Network Kartlı Sunucuların Optimize Edilmesi

Türkiye dışında Avrupa’da herhangi bir sağlayıcıdan aldığınız sunucularda genellikle internet erişimi 10 Gbit oluyor. Size tanımlanan bağlantı kaç olur bilmem kısıtlama varsa ona göre aksiyon alın.

Minimum 32+ GB bellek ve 16 çekirdekli işlemcili makinede aşağıdaki ayarları yapın baştan uyarayım, sistem gereksinimleriniz yetmiyorsa bu değişiklikleri uygularken dikkat edin.

Sistemin limitlerinin yükseltilmesi gerekiyor, daha efektif bir şekilde kaynakları kullanmamız ve iyileştirmeleri gerçekleştirmemiz şart /etc/security/limits.conf içerisinde aşağıdaki işlemi yapın.

* soft nproc 1048576
* hard nproc 1048576
* soft nofile 1048576
* hard nofile 1048576
* soft stack 1048576
* hard stack 1048576
* soft memlock unlimited
* hard memlock unlimited
JavaScript

Hemen ardından kullandığımız network kartının kuyruğunu 10Gbit olacak şekilde sabitliyorum. Genellikle kurulumda 1 Gbitlik tanımlı geliyor.

ifconfig eth0 txqueuelen 10000
JavaScript

Bu işlem ile kuyruğu arttırıyorum, sistem yeniden başlatılırsa eski haline geleceğini unutmayın.

Hemen ardından kernel de değişiklikler yapacağız. Bu değişiklikler sonrasında yüksek trafik alan sunucularınızda rahatlama olacağından ve sistem kaynaklarının daha efektif kullanılacağından emin olabilirsiniz.

vm.max_map_count=1048576
vm.min_free_kbytes=65535
vm.overcommit_memory=1
vm.swappiness=0
vm.vfs_cache_pressure=50
fs.file-max=1048576
fs.inotify.max_user_instances=1048576
fs.inotify.max_user_watches=1048576
fs.nr_open=1048576
net.core.netdev_max_backlog=1048576
net.core.rmem_max=33554432
net.core.somaxconn=65535
net.core.wmem_max=33554432
net.ipv4.tcp_congestion_control=htcp
net.ipv4.ip_local_port_range=1024 65535
net.ipv4.tcp_fin_timeout=5
net.ipv4.tcp_rfc1337 = 1
net.ipv4.tcp_max_orphans=1048576
net.ipv4.tcp_max_syn_backlog=20480
net.ipv4.tcp_max_tw_buckets=400000
net.ipv4.tcp_no_metrics_save=1
net.ipv4.tcp_rmem=4096 87380 33554432
net.ipv4.tcp_synack_retries=2
net.ipv4.tcp_syn_retries=2
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_wmem=4096 65535 33554432
JavaScript

Aynı zamanda 1 Gbit hatta sahip Linux makinelerin ağ kartı performans ayarlamaları için tıklayın

Kurumlara Ait IP Adres Aralıkları Nasıl Tespit Edilir?

Bazen belirli bir IP‘nin hangi kuruma ait olduğu hangi IP aralığında olup olmadığını veya belirli bir ASN’ye ait olup olmadığını tespit etmemiz gerekir.

Bunun en kolay yollarından bir tanesi ise whois aracını kullanmaktır.

Dig ile DNS ve diğer bilgileri getiriyoruz.

dig turktelekom.com

Çıktısı aşağıdaki gibi olacaktır.

; <<>> DiG 9.13.3 <<>> turktelekom.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54174
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;turktelekom.com.               IN      A

;; ANSWER SECTION:
turktelekom.com.        3599    IN      A       212.175.73.136

;; Query time: 161 msec
;; SERVER: 192.168.2.1#53(192.168.2.1)
;; WHEN: Mon Nov 19 21:40:30 +03 2018
;; MSG SIZE  rcvd: 60

$ whois 212.175.73.136
% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See http://www.ripe.net/db/support/db-terms-conditions.pdf

% Note: this output has been filtered.
%       To receive output for a database update, use the "-B" flag.

% Information related to '212.175.72.0 - 212.175.73.255'

% Abuse contact for '212.175.72.0 - 212.175.73.255' is 'abuse@ttnet.com.tr'

inetnum:        212.175.72.0 - 212.175.73.255
netname:        TURKTELEKOM
descr:          TT-GM
country:        tr
admin-c:        TTBA1-RIPE
tech-c:         TTBA1-RIPE
status:         ASSIGNED PA
mnt-by:         AS9121-MNT
created:        2014-03-12T08:10:13Z
last-modified:  2014-03-12T08:10:13Z
source:         RIPE

role:           TT Administrative Contact Role
address:        Turk Telekom Genel Mudurlugu
phone:          +90 312 555 0000
fax-no:         +90 312 313 1924
admin-c:        BADB3-RIPE
abuse-mailbox:  abuse@ttnet.com.tr
tech-c:         BADB3-RIPE
tech-c:         BADB3-RIPE
tech-c:         BADB3-RIPE
nic-hdl:        TTBA1-RIPE
mnt-by:         AS9121-MNT
created:        2002-02-28T12:22:28Z
last-modified:  2017-03-29T05:21:26Z
source:         RIPE # Filtered

% Information related to '212.175.0.0/17AS9121'

route:          212.175.0.0/17
descr:          TurkTelecom
origin:         AS9121
mnt-by:         AS9121-MNT
created:        2004-12-14T13:04:13Z
last-modified:  2004-12-14T13:04:13Z
source:         RIPE

% This query was served by the RIPE Database Query Service version 1.92.6 (WAGYU)

Burada gözümüze çarpan origin: AS9121 olacaktır bu bilgi ile kuruma ait olan tüm IP havuzu belirlenebilmektedir.

whois -h whois.ripe.net -T route AS9121 -i origin | grep ^route: | awk '{print $NF}'

Tespit edilen IP adresleri ise şu şekilde gözükmektedir

176.52.176.0/22
193.110.209.0/24
193.201.128.0/22
193.254.252.0/23
193.254.252.0/24
194.54.32.0/19
195.174.0.0/15
195.174.0.0/16
195.174.0.0/17
195.174.128.0/17
195.174.128.0/18
195.174.153.0/24
195.174.192.0/18
195.175.0.0/17
195.175.128.0/17
195.175.128.0/18
195.175.192.0/18
212.156.0.0/16
212.156.0.0/17
212.156.0.0/18
212.156.100.0/24
212.156.104.0/23
212.156.106.0/24
212.156.110.0/23
212.156.112.0/22
212.156.122.0/23
212.156.124.0/22
212.156.128.0/17
212.156.128.0/18
212.156.192.0/19
212.156.224.0/20
212.156.240.0/21
212.156.248.0/23
212.156.254.0/23
212.156.64.0/19
212.156.96.0/22
212.174.0.0/15
212.174.0.0/16
212.174.0.0/17
212.174.128.0/17
212.174.190.0/24
212.174.191.0/24
212.175.0.0/16
212.175.0.0/17
212.175.128.0/17
62.248.0.0/17
62.248.56.0/24
62.248.57.0/24
62.248.58.0/24
62.248.59.0/24
62.248.60.0/24
62.248.61.0/24
62.248.62.0/24
62.248.63.0/24
78.160.0.0/11
78.160.0.0/17
78.160.128.0/17
78.160.128.0/18
78.160.192.0/18
78.161.0.0/17
78.161.0.0/18
78.161.128.0/17
78.161.128.0/18
78.161.192.0/18
78.161.64.0/18
78.162.0.0/17
78.162.0.0/18
78.162.128.0/17
78.162.128.0/18
78.162.192.0/18
78.162.64.0/18
78.163.0.0/17
78.163.0.0/18
78.163.128.0/17
78.163.128.0/18
78.163.192.0/18
78.163.64.0/18
78.164.0.0/17
78.164.0.0/18
78.164.128.0/17
78.164.128.0/18
78.164.192.0/18
78.164.64.0/18
78.165.0.0/17
78.165.0.0/18
78.165.128.0/17
78.165.128.0/18
78.165.192.0/18
78.165.64.0/18
78.166.0.0/17
78.166.0.0/18
78.166.128.0/17
78.166.128.0/18
78.166.192.0/18
78.166.64.0/18
78.167.0.0/17
78.167.0.0/18
78.167.128.0/17
78.167.128.0/18
78.167.192.0/18
78.167.64.0/18
78.168.0.0/17
78.168.0.0/18
78.168.128.0/17
78.168.128.0/18
78.168.192.0/18
78.168.64.0/18
78.169.0.0/17
78.169.0.0/18
78.169.128.0/17
78.169.128.0/18
78.169.192.0/18
78.169.64.0/18
78.170.0.0/17
78.170.0.0/18
78.170.128.0/17
78.170.128.0/18
78.170.192.0/18
78.170.64.0/18
78.171.0.0/17
78.171.0.0/18
78.171.128.0/17
78.171.128.0/18
78.171.192.0/18
78.171.64.0/18
78.172.0.0/17
78.172.0.0/18
78.172.128.0/17
78.172.128.0/18
78.172.192.0/18
78.172.64.0/18
78.173.0.0/17
78.173.0.0/18
78.173.128.0/17
78.173.128.0/18
78.173.192.0/18
78.173.64.0/18
78.174.0.0/17
78.174.0.0/18
78.174.128.0/17
78.174.128.0/18
78.174.192.0/18
78.174.64.0/18
78.175.0.0/17
78.175.0.0/18
78.175.128.0/17
78.175.128.0/18
78.175.192.0/18
78.175.64.0/18
78.176.0.0/17
78.176.128.0/17
78.177.0.0/17
78.177.128.0/17
78.178.0.0/17
78.178.128.0/17
78.179.0.0/17
78.179.128.0/17
78.180.0.0/17
78.180.128.0/17
78.181.0.0/17
78.181.128.0/17
78.182.0.0/17
78.182.128.0/17
78.183.0.0/17
78.183.128.0/17
78.184.0.0/17
78.184.128.0/17
78.185.0.0/17
78.185.128.0/17
78.186.0.0/17
78.186.128.0/17
78.187.0.0/17
78.187.128.0/17
78.188.0.0/17
78.188.128.0/17
78.189.0.0/17
78.189.128.0/17
78.190.0.0/17
78.190.128.0/17
78.191.0.0/17
78.191.128.0/17
81.212.0.0/16
81.212.0.0/17
81.212.0.0/20
81.212.128.0/17
81.212.128.0/18
81.212.16.0/21
81.212.193.0/24
81.212.194.0/23
81.212.196.0/24
81.212.224.0/20
81.212.250.0/23
81.212.252.0/22
81.212.33.0/24
81.212.34.0/23
81.212.36.0/22
81.212.40.0/21
81.212.48.0/20
81.212.64.0/18
81.213.0.0/16
81.213.0.0/17
81.213.128.0/17
81.214.0.0/16
81.214.0.0/17
81.214.128.0/17
81.215.0.0/16
81.215.0.0/17
81.215.128.0/17
85.100.0.0/17
85.100.128.0/17
85.101.0.0/17
85.101.128.0/17
85.102.0.0/17
85.102.128.0/17
85.103.0.0/17
85.103.128.0/17
85.104.0.0/16
85.104.0.0/17
85.104.128.0/17
85.105.0.0/17
85.105.128.0/17
85.106.0.0/17
85.106.128.0/17
85.107.0.0/17
85.107.128.0/17
85.108.0.0/17
85.108.128.0/17
85.109.0.0/17
85.109.128.0/17
85.110.0.0/17
85.110.128.0/17
85.111.0.0/17
85.111.128.0/17
85.96.0.0/16
85.96.0.0/17
85.96.128.0/17
85.97.0.0/17
85.97.128.0/17
85.98.0.0/17
85.98.128.0/17
85.99.0.0/17
85.99.128.0/17
88.224.0.0/17
88.224.128.0/17
88.225.0.0/17
88.225.128.0/17
88.226.0.0/17
88.226.128.0/17
88.227.0.0/17
88.227.128.0/17
88.228.0.0/17
88.228.128.0/17
88.229.0.0/17
88.229.128.0/17
88.230.0.0/17
88.230.128.0/17
88.231.0.0/17
88.231.128.0/17
88.232.0.0/17
88.232.128.0/17
88.233.0.0/17
88.233.128.0/17
88.234.0.0/17
88.234.128.0/17
88.235.0.0/17
88.235.128.0/17
88.236.0.0/17
88.236.128.0/17
88.237.0.0/17
88.237.128.0/17
88.238.0.0/17
88.238.128.0/17
88.239.0.0/17
88.239.128.0/17
88.240.0.0/17
88.240.128.0/17
88.241.0.0/17
88.241.128.0/17
88.242.0.0/17
88.242.128.0/17
88.243.0.0/17
88.243.128.0/17
88.244.0.0/17
88.244.128.0/17
88.245.0.0/17
88.245.128.0/17
88.246.0.0/17
88.246.128.0/17
88.247.0.0/17
88.247.128.0/17
88.248.128.0/17
88.249.0.0/17
88.249.128.0/17
88.250.0.0/17
88.250.128.0/17
88.251.0.0/16
88.251.0.0/17
88.251.128.0/17
88.252.0.0/16
88.252.0.0/17
88.252.128.0/17
88.253.0.0/16
88.253.0.0/17
88.253.128.0/17
88.254.0.0/16
88.254.0.0/17
88.254.128.0/17
88.255.0.0/16
88.255.0.0/17
88.255.128.0/17
95.0.0.0/16
95.0.0.0/17
95.0.128.0/17
95.1.0.0/17
95.1.128.0/17
95.10.0.0/17
95.10.128.0/17
95.11.0.0/17
95.11.128.0/17
95.12.0.0/17
95.12.128.0/17
95.13.0.0/17
95.13.128.0/17
95.14.0.0/17
95.14.128.0/17
95.15.0.0/17
95.15.128.0/17
95.2.0.0/17
95.2.128.0/17
95.3.0.0/17
95.3.128.0/17
95.4.0.0/17
95.4.128.0/17
95.5.0.0/17
95.5.128.0/17
95.6.0.0/17
95.6.128.0/17
95.7.0.0/17
95.7.128.0/17
95.8.0.0/17
95.8.128.0/17
95.9.0.0/17
95.9.128.0/17

Mylg Ağ Tanılama Aracı Nasıl Kullanılır?

myLG, farklı ağ tanımlama araçlarının tek bir ağ teşhis aracı olarak birleştiren açık kaynaklı bir yazılım programıdır. Kullanımı oldukça basittir.

Herhangi bir ülke üzerinden DNS sorgulama

ns
connect COUNTRY
node CITY/PROV
dig SITE

hping aracılığı ile sitenin test edilmesi

local> hping https://www.google.com -trace -c 4
HPING www.google.com (216.58.194.196), Method: HEAD, DNSLookup: 17.2923 ms
HTTP Response seq=0, proto=HTTP/1.1, status=200, time=183.097 ms, connection=34.789 ms, first byte read=148.167 ms
HTTP Response seq=1, proto=HTTP/1.1, status=200, time=164.960 ms, connection=27.764 ms, first byte read=137.096 ms
HTTP Response seq=2, proto=HTTP/1.1, status=200, time=153.559 ms, connection=27.881 ms, first byte read=125.526 ms
HTTP Response seq=3, proto=HTTP/1.1, status=200, time=164.309 ms, connection=28.904 ms, first byte read=135.296 ms

--- www.google.com HTTP ping statistics --- 
4 requests transmitted, 4 replies received, 0% requests failed
HTTP Round-trip min/avg/max = 153.56/164.05/183.10 ms
HTTP Code [200] responses : [████████████████████] 100.00% 

IP, ASN veya subnet kullanılarak whois bilgilerinin öğrenilmesi

local> whois 9121
TTNET - Turk Telekomunikasyon Anonim Sirketi
+--------------------+-----------+
|      LOCATION      | COVERED % |
+--------------------+-----------+
| Turkey             |   99.9741 |
| United States - AE |    0.0185 |
| Russian Federation |    0.0074 |
| Georgia            |    0.0000 |
| Greece             |    0.0000 |
+--------------------+-----------+

Port taramasının yapılması

local> scan www.google.com -p 1-500
+----------+------+--------+-------------+
| PROTOCOL | PORT | STATUS | DESCRIPTION |
+----------+------+--------+-------------+
| TCP      |   80 | Open   |             |
| TCP      |  443 | Open   |             |
+----------+------+--------+-------------+
Scan done: 2 opened port(s) found in 5.605 seconds

peering bilgilerinin kontrol edilmesi

local> peering 9121
Data provided by www.peeringdb.com
+--------------+---------+------+-------------------------------+------+
|     NAME     | TRAFFIC | TYPE |           WEB SITE            | NOTE |
+--------------+---------+------+-------------------------------+------+
| Turk Telekom |         | NSP  | http://www.turktelekom.com.tr |      |
+--------------+---------+------+-------------------------------+------+
+--------------------------------+--------+--------+----------------+-------------------------+
|              NAME              | STATUS | SPEED  |   IPV4 ADDR    |        IPV6 ADDR        |
+--------------------------------+--------+--------+----------------+-------------------------+
| DE-CIX Frankfurt: DE-CIX       | ok     | 100000 | 80.81.192.82   | 2001:7f8::23a1:0:1      |
| Frankfurt Peering LAN          |        |        |                |                         |
| AMS-IX                         | ok     |  40000 | 80.249.208.241 | 2001:7f8:1::a500:9121:1 |
| AMS-IX                         | ok     |  40000 | 80.249.209.241 | 2001:7f8:1::a500:9121:2 |
+--------------------------------+--------+--------+----------------+-------------------------+

döküm alınabilecek network interfaceslerinin listelenmesi

local> dump -d
+----------+-------------------+--------+-------+--------------------------------+-----------+-----------+--------------+----------+
|   NAME   |        MAC        | STATUS |  MTU  |          IP ADDRESSES          | MULTICAST | BROADCAST | POINTTOPOINT | LOOPBACK |
+----------+-------------------+--------+-------+--------------------------------+-----------+-----------+--------------+----------+
| lo0      |                   | UP     | 16384 | 127.0.0.1/8 ::1/128 fe80::1/64 | ✓         |           |              | ✓        |
| gif0     |                   | DOWN   |  1280 |                                | ✓         |           | ✓            |          |
| stf0     |                   | DOWN   |  1280 |                                |           |           |              |          |
| en0      | ac:bc:32:b4:33:23 | UP     |  1500 | fe80::181b:3d55:e9a2:e3df/64   | ✓         | ✓         |              |          |
|          |                   |        |       | 192.168.0.103/24               |           |           |              |          |
| p2p0     | 0e:bc:32:b4:33:23 | UP     |  2304 |                                | ✓         | ✓         |              |          |
| awdl0    | ee:3a:98:da:44:5c | UP     |  1484 | fe80::ec3a:98ff:feda:445c/64   | ✓         | ✓         |              |          |
| en1      | 4a:00:03:9c:8d:60 | UP     |  1500 |                                |           | ✓         |              |          |
| en2      | 4a:00:03:9c:8d:61 | UP     |  1500 |                                |           | ✓         |              |          |
| bridge0  | 4a:00:03:9c:8d:60 | UP     |  1500 |                                | ✓         | ✓         |              |          |
| utun0    |                   | UP     |  2000 | fe80::ec23:f621:ae74:5271/64   | ✓         |           | ✓            |          |
| utun1    |                   | UP     |  1380 | fe80::d187:7734:49d9:9d84/64   | ✓         |           | ✓            |          |
| vboxnet0 | 0a:00:27:00:00:00 | DOWN   |  1500 |                                | ✓         | ✓         |              |          |
+----------+-------------------+--------+-------+--------------------------------+-----------+-----------+--------------+----------+

TCP ve portu 443 network trafiğinin dinlenmesi

local> dump tcp and port 443 -c 10
Interface: eth0, capture size: 6144 bytes
02:42:08.148 IPv4/TCP  debian.mshome.net.:51500 > 162.241.244.109:443(https) [.], win 387, len: 0
02:42:09.555 IPv4/TCP  162.241.244.109:443(https) > debian.mshome.net.:51500 [.], win 252, len: 0
02:42:35.243 IPv4/TCP  debian.mshome.net.:51500 > 162.241.244.109:443(https) [P.], win 387, len: 31
02:42:35.253 IPv4/TCP  debian.mshome.net.:51500 > 162.241.244.109:443(https) [F.], win 387, len: 0
02:42:36.923 IPv4/TCP  162.241.244.109:443(https) > debian.mshome.net.:51500 [.], win 252, len: 0
02:42:36.933 IPv4/TCP  162.241.244.109:443(https) > debian.mshome.net.:51500 [.], win 252, len: 0
02:42:36.943 IPv4/TCP  162.241.244.109:443(https) > debian.mshome.net.:51500 [F.], win 252, len: 0
02:42:36.953 IPv4/TCP  debian.mshome.net.:51500 > 162.241.244.109:443(https) [.], win 387, len: 0

Siteye ulaşmada kullanılan routeların tespiti

local> trace mertcangokgoz.com
trace route to mertcangokgoz.com (104.31.82.25), 30 hops max
1  DESKTOP-HD8FAHG.mshome.net. (172.25.227.241) 0.747 ms 0.855 ms 0.468 ms
2  192.168.0.1 0.535 ms 0.611 ms 0.574 ms
3  * * *
4  * * *
5  172.25.66.1 10.016 ms 9.648 ms 11.130 ms
6  212.156.66.77.static.turktelekom.com.tr. (212.156.66.77) [ASN 9121/TTNET] 10.485 ms 10.603 ms 9.250 ms
7  195.175.173.236.65-gurpinar-ess1-t4-1.65-van-t3-2.statik.turktelekom.com.tr. (195.175.173.236) [ASN 9121/TTNET] 19.953 ms 5.703 ms 10.970 ms
8  06-ebgp-ulus1-k---06-ulus-xrs-t2-1.statik.turktelekom.com.tr. (81.212.197.37) [ASN 9121/TTNET] 10.339 ms 8.965 ms 7.769 ms
9  302-ams-col-2---06-ulus-xrs-t2-1.statik.turktelekom.com.tr. (212.156.102.133) [ASN 9121/TTNET] 108.629 ms 61.605 ms 54.500 ms
10 81.20.67.193 [ASN 2914/NTT-COMMUNICATIONS-2914] 84.618 ms 69.641 ms 61.392 ms
11 ae-15.r25.amstnl02.nl.bb.gin.ntt.net. (129.250.4.172) [ASN 2914/NTT-COMMUNICATIONS-2914] 78.641 ms 60.193 ms 77.725 ms
12 ae-7.r25.frnkge08.de.bb.gin.ntt.net. (129.250.3.76) [ASN 2914/NTT-COMMUNICATIONS-2914] 140.469 ms 65.352 ms 63.240 ms
13 ae-28.r04.frnkge08.de.bb.gin.ntt.net. (129.250.5.145) [ASN 2914/NTT-COMMUNICATIONS-2914] 68.445 ms 67.177 ms 66.820 ms
14 213.198.81.142 [ASN 2914/NTT-COMMUNICATIONS-2914] 73.474 ms 71.212 ms  *
15 104.31.82.25 [ASN 13335/CLOUDFLARENET] 60.893 ms 121.365 ms 60.972 ms

ön tanımlı mylg yapılandırma dosyasını görmek için

local> show config
set ping     timeout         2s
set ping     interval        1s
set ping     count           4
set hping    timeout         2s
set hping    interval        1s
set hping    method          HEAD
set hping    data            mylg
set hping    count           5
set web      port            8080
set web      address         127.0.0.1
set scan     port            1-1024
set trace    wait            2s
set trace    theme           dark
set snmp     community       public
set snmp     timeout         1s
set snmp     version         2c
set snmp     retries         1
set snmp     port            161
set snmp     securitylevel   noauthnopriv
set snmp     authpass        nopass
set snmp     authproto       sha
set snmp     privacypass     nopass
set snmp     privacyproto    aes

QUIC – Yeni Nesil Network Taşıma Protokolü

Google’da çalışan Jim Roskind tarafından tasarlanan bir protokoldür. Fikir ilk olarak 2012 yılında ortaya atılmış, ortaya atılan bu fikir oldukça tutmuş olacak ki 2013 yılında halka duyurulmaya karar verilmiş. QUIC kelimesi size çabuk anlamına gelen quick andırıyor olabilir. Protokolün yeni adını seçerken böyle güzel bir isim bulmuşlar. Türkçe’mize ise hızlı, çabukça, fişeqqqqq diye çevirebileceğimizi düşünüyorum.

quic protokolü temsili cihaz görseli

QUIC Nedir?

QUIC (Quick UDP Internet Connections)yapısı gereği UDP protokolünü kullanan bir network taşıma protokolüdür. Çoğaltılmış bağlantı kümelenmesini destekler ve TLS/SSL ile benzer özellikler taşıyarak güvenli bir şekilde veri iletimini sağlamayı amaçlar. Network tıkanıklığını çözmek için içerisinde algoritmaları barındırır. QUIC’in ana hedefi, şu anda TCP kullanan bağlantı yönelimli web uygulamalarının algılanan performansını artırmak ve kullanıcı deneyimini iyileştirmektir. 2015 yılında IETF’e taslak olarak sunuldu, aradan biraz vakit geçtikten sonra 2016 da çalışma ekibi kuruldu ve bu günlere geldik.

quic nasıl çalışır

QUIC Temel Özellikleri Nelerdir?

  • Düşük gecikme süresi
  • Güvenilir veri akışı
  • Basitleştirilmiş tıkanıklık kontrolü
  • TLS1.3 kullanımı
  • HTTP/1.1 üzerinde çalışılabilirlik
  • Hata düzeltmelerini destekler

QUIC çalışma grubu, bir sonraki adım olarak çoklu yol desteğini getirmiş ve isteğe bağlı hata düzeltmesini (FEC) destekler hale gelmiş.

quic tcp bağlantı tipi

Çalışma grubu, aynı zamanda QUIC’in sunabileceği ağ yönetimi konularına özellikle odaklandı.

Yeni çıkan bu protokol ise haliyle UDP kullandığı için üzerindeki TCP yükünden kurtulmuş oldu. Verileri bir birleri arasında bağlantı aramaksızın gönderecek olması protokolde rahatlamaya izin vererek minimum protokol mekanizmasını tetikliyor. Paketleri öyle dümdüz iletiyor. İstemci sunucu arasında aşağıda geçen durumlar otomatik olarak yaşanmamış oluyor.

quic tcp bağlantıyı nasıl sağlar

Tabi burada TCP ve UDP protokollerinin en iyi yanları alınıp harmanlanıyor. Böylece hantal yapıdan kurtulunmuş oluyor. Güvenliği arttırılmış daha optimize bir network taşıma protokolü ortaya çıkıyor. QUIC ise tarayıcının hızlı bir şekilde sunucu ile iletişim kurmaya başlamasını sağlıyor. QUIC, bir bilgisayar (özellikle telefon) ile sunucu arasında bir HTTPS bağlantısı kurmaya çalışır ve kötü koşullara rağmen güvenilir şekilde bağlantı sağlar, bunu bir dizi yeni teknoloji ile yapar.

Quic TLS el sıkışması nasıl yapar

Peki bir örnek ile devam edelim konuyu bu şekilde daha iyi anlayabileceğinizi düşünüyorum, facebook ve twitter akışınızı kontrol ediyorsunuz herşey iyi güzel evde kullandığınız internetiniz iyi ve bir dizi api isteğini sorunsuz işleme aldınız.

Quic http isteği sunucuda nasıl işler

Bu bahsettiklerimiz, TCP üzerinden çalışan HTTPS için mükemmel koşullar. Paket kaybımız yok, tıkanıklığımız yok, dalgalanma yok. Peki bağlantınız kötü olsaydı ve internet gezinme geçmişiniz kötü olsaydı? o zaman ne yapardınız.

quic hızını gösteren metro görseli

İşte bu noktada QUIC devreye giriyor.

QUIC Hedefleri?

Kötü olan bağlantıları düzeltmeyi amaçlamış, 3g ve wifi gibi gecikmeli olan bağlantılar için kullanılması düşünülmüştür.

  1. Bağlantı gecikmelerini düşürmek için daha az gidiş ve dönüş yapılır.
  2. İstemci sunucudan aldığı bir senkronizasyon çerezini depolar böylelikle 0 RTT sağlanır.
  3. QUIC, kriptografik blok sınırlarını paket sınırları ile hizalar, böylece paket kaybının etkisi daha da düşüktür.
  4. Paket pacing özelliği (devam eden bant genişliği tahmini)
  5. Proaktif spekülatif yeniden iletim (hata düzeltme ve/veya ilk şifreleme bilgisini içermek gibi en önemli paketlerin kopyalarını gönderme)
  6. Yedekli veri iletimi azaltabilir veya sıkıştırabilir.
  7. Tek bir tıkanıklık isteği ile çok sayıda HTTP ve HTTPS isteği yapılabilir
  8. UDP engellendiği durumlarda otomatik TCP’ye geçiş
  9. Gelişmiş gizlilik özellikleri(çözümleme gerektirmez)

TCP bu noktada yüksek gecikmeli bağlantılar üzerinde çalışırken (3G kullanılan bir cep telefonu vb) oldukça fark edilebilir bir gecikme ile kullanıcıya içerik ulaştırılır. QUIC, bağlantının tüm yönlerini kontrol ettiğinden, bağlantıyı ve şifrelemeyi tek bir el sıkışmada birleştirir. Sonuçta içerik kullanıcıya eskisinden daha hızlı bir şekilde tek bir istekde ulaştırılmış olur.

quic mobilde hızın nasıl olduğunun görseli

QPACK Nedir?

HTTP/2 tarafından sunulan bir fayda’dan bahsetmek istiyorum, HTTP istekleri ve yanıtlarından gelen fazlalıklar bildiğiniz gibi HTTP/2 doğası gereği kaldırılmıştı daha doğrusu sıkıştırılmıştı ve bunada HPACK adı verilmişti.

Özellikle, diğer kullanılan teknikler arasında HPACK, önceki HTTP isteklerinden (veya yanıtlarından) gönderilen ve (veya alınan) başlıklarla(header) doldurulmuş dinamik tabloları kullanırdı, böylece son noktaların daha önce karşılaşılan başlıkları(header) yeni isteklerde (veya yanıtlarda) değil de hepsini tekrar iletmek için kullanırdı.

HPACK’in dinamik tablolarının (bir HTTP isteği veya yanıtı gönderen taraf) ve kod çözücü (bunları alan taraf) arasında senkronize edilmesi gerekirdi, aksi takdirde kod çözücü, aldıklarını çözemezdi.

TCP üzerinden HTTP/2 kullanımı basitti ve şeffaftı, çünkü aktarım katmanı (TCP), gönderdiği sıraya göre HTTP isteklerini ve yanıtlarını iletmekten sorumluydu, tabloları güncelleştirme işlemleri, kodlayıcı tarafından yalnızca parçalı olarak gönderilebilirdi.

Fakat QUIC için bu daha karmaşık bir hale geldi.

QUIC, farklı akışlar üzerinden bağımsız olarak birden fazla HTTP isteği (veya yanıtı) sunabilir, bu da tek bir akış söz konusu olduğunda verinin teslim edilmesini sağlarken, birden fazla akışta verilerin tesliminin garantisinin verilmemesi anlamınada geliyor.

Örneğin, bir istemci QUIC kullanarak A üzerinden bir HTTP isteğini gönderiyorsa ve B akışı üzerinden B’yi talep ederse, paket yeniden sıralama veya ağdaki kayıp nedeniyle yerine ulaşamayabilir, bu durumda B isteği, istekte bulunulmadan önce sunucu tarafından alınabilir. B isteği, A talebinden bir başlık(header) isteğinde bulunacak şekilde tasarlanmıştır, sunucu henüz A’yı görmediği için isteği anlayamaz.

GQUIC protokolünde, bu sorun sadece tüm HTTP istekleri ve cevap başlıklarının(header) aynı gQUIC akışı üzerinden dizi kullanılarak çözmesini sağlar. Bu, başlıkların (header) ne olursa olsun teslim edilmesi anlamınada gelir. Ayrıca, uygulama mevcut HTTP/2 isteklerinin çoğunu yeniden kullanılmasına izin veren çok basit bir yapıyı da içinde barındırır, diğer yandan, QUIC istek küçültme özelliklerinide içerisinde barındırır.


https://en.wikipedia.org/wiki/QUIC
QUIC, a multiplexed stream transport over UDP
QUIC: Design Document and Specification Rationale

Ağ Sorunlarını MTR ile Tanımlama

MTR, network yöneticilerinin ağ hatalarını tespit ve teşhis edebilmelerini kolaylaştırmak için geliştirilmiş ve faydalı raporları sunmasını sağlayan çok güçlü bir araçtır. Bu araç temelinde traceroute komutunu kullanmakla beraber bu işlevsel özelliği biraz daha geliştirmiş ve bizlerin kullanımına sunulmuştur. Bu yazımda sizlere MTR raporlarına göre bir network yapısında oluşan sorunları, MTR raporlarındaki verilere dayanarak doğru bir şekilde nasıl yorumlayacağını göstereceğim.

Ağ Sorunlarını Teşhisi

Ping, traceroute ve mtr dahil olmak üzere ağ teşhis araçları, internette iki nokta arasındaki durumu ve trafiği test etmek için “ICMP” paketlerini kullanır. Bir kullanıcı Internet’te bir ana bilgisayara veri gönderdiğinde, ana makineye bir dizi ICMP paketi gönderilir ve karşı tarafda paketleri göndererek yanıt verir.

Kullanıcının istemcisi, İnternet’teki iki nokta arasındaki gidiş geliş süresini hesaplayabilir.

fibre optic network cable

Buna karşılık, traceroute ve MTR gibi araçlar, paketin çıkış ve varış yeri arasında yaptığı atlama ve bu atlamalar arasında kullandığı rotaları görüntülemek için artışlar yaparak TTL‘leri gönderir. Geri dönüşlere göre neler olup neler bittiğini eğer aradaki cihaz gizlenmediyse görebilmek mümkündür. Trafiğin Internet üzerinden geçtiği rotanın basit bir gösterimini sunmak yerine MTR bize ara cihazların durumunu, bağlantıları ve yanıt verme süreleri ile ilgili ek bilgileri de toplar.

mtr rapor gorsel

Bu ek bilgi nedeniyle, Internet’teki iki bilgisayar arasındaki bağlantının eksiksiz genel görünümünü edinmek için MTR kullanabilirsiniz. En basit hali ile MTR aşağıdaki şekilde kurulur

Debian/Ubuntu için

apt-get install mtr

Centos için

yum install mtr

Mac OSX için

brew install mtr

MTR Kullanarak Rapor Oluşturma

MTR, trafiğin bir görüntüsünü ana bilgisayardan diğerine götürdüğü için, onu yönlendirme aracı olarak düşünebilirsiniz. Ayrıca, İnternet’teki iki nokta arasındaki route, bulunduğunuz yere ve sizin yerinize yerleştirilmiş olan routerlara göre çok farklı olabilir.

mtr ana gorsel

Bu nedenle, sık sık bağlantı sorunları yaşayan tüm makineler veya mümkün olduğunca çok sayıda ana bilgisayar için MTR raporlarını her iki yönde de toplamanız önerilir. Tabi bu çoğu zaman mümkün olmayabilir.(Ev kullanıcısı iseniz vs)

Genel olarak özel bir sebebiniz yok ise MTR aracını aşağıdaki gibi kullanabilirsiniz

mtr -rw mertcangokgoz.com

Burada kullandığınız parametreler;

  • r Rapor oluşturmak için kullanılan komuttur.
  • w Hostname çözümlemesi ve tam görünüm için kullanılmaktadır.

Ayrıca yukarıdaki komutlara ek aşağıdakilerinide kullanabilirsiniz

  • c kaç adet paketin gönderilip kayıt edileceğini belirtebilirsiniz. Kullanmazsanız ön tanımlı olarak 10 adet paket gönderir. 50 ila 100 arasında bir değer kullanabilirsiniz.
  • i ağ tıkanıklığı sırasında meydana gelebilecek paket kaybını ortaya çıkarmak için kullanabileceğiniz hızlı paket gönderme yöntemimizdir.
mtr -rwc 60 -i 0.5 -rw 1.1.1.1

Örnek çıktı

mtr ornek cikti

Burada görüldüğü gibi Google dns olan 8.8.8.8 adresine mtr komutu verilmiş ve ön tanımlı olarak 10 adet paket gönderilmiştir. Komutu takiben, MTR çıktıyı üretir. Rapor oluşturması bir kaç saniye sürecektir. Bu durum bir kaç dakika kadar bile sürebilir bu gibi durumlarda panik yapmayın ve raporun sonuçlanmasını bekleyin.

Raporları Yorumlama

Herhangi bir ip adresine mtr başlatıp daha sonra ortaya çıkan duruma bakacak olursak yukarıda vermiş olduğumuz komut aracılığı ile 60 adet paket gönderdik. Bu paket gönderim işlemini -i 0.5 ile saniyenin yarısı ile yapacağız. Eğer –report kullanımına özen göstermezseniz mtr komutu hedef ip adresine ulaşmaya devam edecek.

MTR çıktısını analiz ederken, iki şey bizim için önemlidir bunlar kayıp(loss) ve gecikme(latency) İlk önce, kayıp hakkında biraz konuşmamız gerekiyor. Ardından gecikmeye ufaktan giriş yapacağız.

Belirli bir hop’da kayıp yüzdesini herhangi bir değer ile birlikte görürseniz, söz konusu router ile ilgili bir sorun olduğuna dair ufak bir sorun olduğunu düşünebilirsiniz. Ancak, bazı servis sağlayıcıları arasında MTR’nin kullandığı ICMP trafiğini sınırlamak yaygın bir uygulama olarak karşımıza çıkmaktadır.(evden bu testi yapıyorsanız göreceğiniz durumlardan biridir.) Bu, kayıp olmadığında bile paket kaybı olarak gözüktüğü için bizi yanıltabilir. Gördüğünüz kayıpların gerçek olup olmadığını veya hız sınırlamalarından hangisinin olduğunu belirlemek için sonraki hop göz atın. Bu hop % 0,01 oranında bir kayıp gösteriyorsa veya kayıp yoksa, ICMP hız sınırlaması olduğunu ve gerçek kayıpları yansıtmadığı anlamına gelecektir.

mtr google raporu

Türkiye’den bu çıktıya bakıyorsanız ilk bağlantı noktasından yaklaşık 3-4 tanesinde %100 kayıp ve ??? görmeniz normaldir çünkü bu aradaki cihazları gizleme amacı ile yapılmış bir durumdur. Önemli olmamakla birlikte yüksek ihtimalle sizin lokal ağdan çıkan trafik 2. hop’da bina yada mahalle dağıtıcısına oradan da bölge dağıtıcısına gidiyor gibi gözüküyor.(tahminen) Geriye kalan on üç hop giden trafik, beşinci ve yedinci hopa rağmen, hiçbir paket kaybı olmadığını da görüyoruz.

Kayıp birden fazla hop için devam ederse, bazı paket kaybı veya yönlendirme sorunları olduğuna işaret eder. Hız sınırlama ve paket kaybının aynı anda gerçekleşebileceğini unutmayın. Bu durumda, bir kayıpta en düşük yüzdeyi gerçek kayıp olarak almanız gerekmektedir.

Beşinci ve yedinci hopun muhtemelen bir miktar trafik kaybettiği varsayılabilir, çünkü sonraki hop paket kayıplarını bildirmeyecek. Bununla birlikte, kaybın bir kısmı son hopun sadece % 60’ını kaybettiğinden dolayı bu noktaların sınırlandırılmasından kaynaklanmakta olduğunu düşüneceğiz. Farklı miktarlarda kayıp gözlemlenirse, sonraki hoplara bakarak yorumunuzu yapın.

detaylandirma gorsel gardasim benim

Detaylandırma

Bazı kayıplar dönüş yolundaki problemlerle de açıklanabilir. Paketler hatasız bir şekilde hedeflerine ulaşacak, ancak dönüş yolculuğunu yapmakta zorlanacaklardır. Bu raporda belirgin bir şekilde gözükecek, ancak MTR çıkışından anlamlandırmanız zor olabilir. Bu nedenle, bir sorunla karşılaştığınızda MTR raporlarını her iki yönde toplamak en iyisidir. ( intranet’de yapacağınız testler için önerilir.)

Ayrıca, bağlantılarınız da ki tüm paket kaybı olaylarını araştırmak veya raporlamak için biraz sorunlara katlanmanız gerekiyor. İnternet protokolleri, bazı ağ bozulmalarına karşı dirençli olacak şekilde tasarlanmıştır. (TCP) ve verilerin İnternet üzerinden aldığı yollar, yük, bakım olayları ve diğer yönlendirme sorunlarına tepki olarak dalgalanabilir. Eğer MTR raporunuz % 10’luk küçük miktarlarda kayıplar görüyorsanız, uygulama katmanı muhtemelen geçici olarak bu kaybı telafi edeceğinden kafanızı yormanıza gerek yok. Ancak kayıplar daha yüksek oranlarda meydana geliyor ise o zaman kafanızı yorabilirsiniz.

 

Ağ Gecikmelerini Anlamlandırma

MTR kullandık paket kayıplarını değerlendirmemize yardımcı oldu şimdi ise MTR ile hedef host arasındaki bir bağlantının gecikmesini de değerlendirmemiz gerekecek. Fiziksel kısıtlamalar nedeniyle gecikme, her zaman bir rotadaki hop sayısıyla bize artarak gözükür. Ancak, artışlar tutarlı ve doğrusal olmalıdır.

Maalesef, gecikme genellikle hem ana bilgisayarın bağlantılarına hem de fiziksel mesafesine bağlıdır. Sorunlu bağlantılar için MTR raporlarını değerlendirirken, belirli bir alandaki diğer ana bilgisayarlar arasındaki bilinen bağlantı hızları da göz önüne alınmalıdır.

Bağlantı kalitesi, belirli bir rota için yaşadığınız gecikme süresini de etkileyebilir. Tahmin edilebilir şekilde çevirmeli bağlantıların aynı hedefe giden kablo modem bağlantılarından çok daha yüksek bir gecikme süresi olacaktır.(modem vs fiber)

mtr gecikme hesabi gorsel

Gecikme miktarı 5 ve 6 hop arasında önemli ölçüde hem atlamalar yaparak devam etti ve yüksek kaldı. Bu, yedinci hop’dan sonra gidiş dönüş sürelerinin yüksek kalması nedeniyle ağ gecikme sorununa işaret edilebilir. Bu rapordan, sorunun nedenini belirlemek mümkün olmamakla birlikte, şişirilmiş bir yönlendirici durumunu veya sorun yaşanan bir yönlendiriciyi veya yaşanan bir hız limitlemesini tanımlayabiliriz.

Ne yazık ki, yüksek gecikme her zaman geçerli rota ile ilgili bir problem olduğu anlamına gelmez.

Gecikme, dönüş yolundaki bir sorundan da kaynaklanabilir. Geri dönüş rotası MTR raporunuzda görülmeyecek ve paketler belirli bir hedefe giden ve gelen tüm yollardan farklı yollar alabilecektir. Bu durumda, yaşanan bir kayıpta en düşük kayıp yüzdesini gerçek kayıp olarak almanız gerekmektedir.

oha network dustu lan

Ayrıca yaptığınız testlerde ve oluşturduğunuz raporlarda sorunların her zaman çözümüne ulaşamayabilirsiniz. Bu gibi durumlarda network sağlayıcınızla veya kurum içerisinde sorun yaşıyorsanız network yöneticiniz ile direk olarak iletişime geçin.

Örnekler

Aşağıdaki örneklere bakarak durumu daha iyi anlayabilirsiniz. Örnekleri oluşturmak için herhangi bir test ortamı oluşturma imkanımın olmayışından dolayı teorik gideceğiz.

Hedef Ana Bilgisayar Ağı Yanlış Yapılandırılmış

Yanlış yapılandırılmış bir yönlendirici nedeniyle hedef ana bilgisayarda% 100 kayıp olduğu ortaya çıkıyor. İlk bakışta, paketlerin ana bilgisayara ulaşmadığı anlaşılıyor, ancak durum böyle değil.

Trafik, hedef ana bilgisayara ulaşıyor, ancak MTR raporu, hedef ana bilgisayar yanıt göndermediği için paketlerde loss olarak gösteriyor. Bu, sunucunun ICMP paketlerini DROP edilmesine neden olan yanlış yapılandırılmış ağ veya güvenlik duvarı kurallarının sonucu olabilir.

ICMP Hız Sınırlaması

ICMP Hız sınırlaması, görünür bir şekilde paket kaybına neden olabilir. Sonraki hoplar da devam etmeyen ve bir hop da paket kaybına neden olan durumdur, bu yaşanan kayıp ICMP sınırlamasından kaynaklanacaktır.

Zaman aşımları

Zaman aşımları çeşitli nedenlerle olabilir. Bazı yönlendiriciler ICMP’yi atacak ve çıkışlarda zaman aşımları atacaktır bu durumda yukarıdaki örneklerdeki gibi ???  olarak gösterilecektir. Alternatif olarak, dönüş yolunda bir sorunda olabilir.

Zaman aşımları, zorunlu olarak paket kaybının bir göstergesi değildir bu gibi durumlara bakarak haa burada sorun varmış diyemeyiz. Paketler, önemli paket kaybı veya gecikme olmadan hedeflerine ulaşmaya devam edeceklerdir. Zaman aşımları, QoS (hizmet kalitesi) amaçlarına yönelik paketleri kayba uğratan yönlendiricilere atfedilebilir veya zaman aşımlarına neden olan dönüş yollarıyla ilgili bazı sorunlar olabilir.

aha cozdum network sorununu amk

İnternet Ölçüm Ağına Giriş 101, Atlas RIPE Nedir?

RIPE NCC şimdiye kadar yapılmış en büyük İnternet ölçüm ağını inşa ediyor. RIPE Atlas, İnternet bağlantısını ve ulaşılabilirliğini ölçen, İnternet’in gerçek zamanlı olarak eşi görülmemiş bir şekilde anlaşılmasını sağlayan küresel bir prob ağı kullanmaktadır.

RIPE, bir ağa bağlanabilen ve RIPE bulutuna ölçüm bilgisi gönderen bir probla ilgilenen herkese bu bilgileri sağlar.

Bu ağa dahil olan insanlar küresel internet ölçüm ağına direk olarak bağlı olurlar. Ölçümlerin yapılmasına yardım ederler, aynı zamanda kendi ölçümlerini gerçekleştirerek ağa katkı sağlarlar.

Atlas Ripe NCC

Ripe tarafından size gönderilen ufak bir cihaz ile işleme başlanır. Proje v3 sürümünde olduğu için Tp-Link MR3020 model bir network cihazı tarafınıza hiçbir ücret beklenmeden gönderilir

atlas-ripe-gorsel1-kutu-ici

Kutu içeriğinde yukarıda ki görselde de görebileceğiniz gibi

  • 1 Adet TP-Link MR3020
  • 1 Adet Cat 5 ethernet kablosu
  • 1 Adet USB Type B kablo
  • ID ve Bilgilerinizi içeren bir kağıt

İle birlikte gelir. Bu cihazın kullanımı oldukça basittir. Tek yapmanız gereken size verilen bilgiler ile birlikte probunuzu kayıt etmeniz.

Probe Kayıt İçin ise cihaz ile birlikte gelen bilgileri aşağıdaki alanlara girmek tabi bunu yapmadan hemen önce size gönderilen probe cihazını networkünüze dahil etmeli ve çalışır duruma getirmelisiniz.

atlas-probe-kayit

MAC Adress yazan kısımda size gönderilen cihaz üzerinde yer alan ve C0:25 ile başlayan TP-Link üretici kodlu bilgiyi sisteme girmeniz. Bu işlemleri tamamladıktan sonra sistem sizin cihazınızı otomatik olarak tanıyacak ve site üzerindeki panelinizden görebileceksiniz.

Ardından kullanmaya başladığınızda panelinizde aşağıdaki gibi grafikler oluşmaya başlayacak. Sistem olabildiğinde açık tutarak internet ölçüm ağına katkı sağlayabilirsiniz.

atlas-ripe-probe-grafikler

Atlas ripe ağına nasıl katılabilirim?

Türkiye üzerinde probe sayısı oldukça az olduğu için isteyen tüm herkese cihaz gönderilmektedir. Yapmanız gereken ise Apply for a probe linkini kullanmak

Unutmamanız gereken en büyük noktalardan bir tanesi kayıt sırasında size sorulan AS numaranızı doğru girmeniz. Bu kullandığınız servis sağlayıcısını tanımlayan bir bilgidir. Bu bilgiyi BGP.he.net sitesi üzerinden öğrenebilirsiniz.

Her kullanıcı sadece 1 adet probe talep etme hakkına sahiptir. Birden fazla talepler dikkate alınmayacaktır.

atlas-probe-istek-sayfasi

Ayrıca cihazı alamayacağını düşünen arkadaşlar benimle iletişime geçerek cihazı talep edebilirler. (RIPE’nin talep ettiği bilgiler ile birlikte)

Cihazın tarafınız için ayrıldığı bilgisi ile birlikte gelen kargolandı maili ile size ulaşması gümrüğün durumuna göre değişmekte olup ortalama 42 gün içerisinde gelmektedir. Posta kutunuzu her daim kontrol etmeyi unutmayın.

dipnot: Gümrüksüz olarak gelmektedir.

Testler için hangi bilgileri kullanır?

Genel olarak network testlerinde kullandıkları verileri toplamak için aşağıdaki protokol ve araçlardan faydalanırlar;

  • Ping
  • Traceroute
  • SSL
  • DNS
  • HTTP
  • NTP
  • MTR

Düzenli olarak sistem üzerinden testler gerçekleştirilerek, bilgiler toplanır. Bu bilgiler toplanırken internetiniz üzerinde maximum 6kbps bir bant genişliği kullanılır. Site üzerinden hız limiti uygulayabilirsiniz(önerilmez.)

Bunların dışında sistemin her zaman internete bağlı olması gerekmektedir. Ne kadar çok sisteme bağlı kalırsanız. Tarafınıza o kadar çok puan yüklenecektir. Bu puanlar ile sizde kendi network testlerinizi kolay bir şekilde yapabilirsiniz.

atlas-ripe-storage-cihaz

Güvenlimidir?

Evet. Cihaz sadece internet sitelerine yukarıdaki bilgileri toplamak amacı ile giriş yapar. Bu siteler ülkemizde engelli olabileceği gibi, izlemede yapılıyor olabilir.

Cihaz üzerinde sadece interneti kullanacak bir yapı bulunmaktadır. Hiçbir şekilde trafiğinizin bir kopyasını başka noktalara iletebilecek bir yapısı bulunmamaktadır.(mirroring yapılmaz)

Ayrıca cihaz tamamen encrypted bir yapıdadır. İçerisindeki yazılımı kolay kolay değiştiremez. Probe özelliklerinden mahrum bırakamazsınız.(iyi bir elektronikçi iseniz iş değişir)

Güzel günlerde görüşmek umuduyla, sağlıcakla kalın

Linux Network 101 – Bölüm 1

Arkadaşlar herkese merhaba, haftalık gelmesini planladığım bir yazı dizisi ile karşınızdayım. Linux ağ temelleri ve ağ mantığını öğrenmek isteyenler merak etmeyin doğru yerdesiniz.


İnterfaceslerin neler olduğunu görebileceğiniz komut

ip link

İnterfaces’e ip adresi ekleme

ip address add 10.10.0.1 dev eth0

İnterfaces üzerindeki ip adresini silme

ip addr del 10.10.0.1/24 dev eth0

İnterfaces üzerine birden fazla ip adresi ekleme

ip addr add 10.0.0.1/24 dev eth0 label eth0:1
ip addr add 100.0.0.1/24 dev eth0 label eth0:2

İnterfaces bilgisi

ip link show eth0

İnterfacesi açıp kapatma

ip link set eth0 down
ip link set eth0 up

Ethernet kablosunun bağlantısında sorun olup olmadığının kontrolü

cat /sys/class/net/eth$/operstate

İnterfaces’lerin addr bilgisi

ip addr

İnterfaces’e ait tüm ipv4 adreslerinin temizlenmessi

ip -4 addr flush label 'eth0'

ip adreslerinin route listesi

ip route show all

Yeni bir route ekleme

ip route add 0.0.0.0/0 via 10.0.0.1 [dev eth0]

Eklenen bir route’yi silmek

ip route del 0.0.0.0/0

Bir ip adresine ait routeyi görmek

ip route get 72.122.134.209

Ağdaki bağlantı kurmuş makinelerin listesi

ip neigh list

Belli bir IP grubu için route kaydı

ip route show 192.168.0.2/24

Kısa bir süre önce erişilen adreslerin route bilgisi

ip route show cache

Bütün route kayıtlarını silmek

ip route flush

ARP tablosundan belirli bir ip için kayıt silme

ip -s neigh flush 192.168.0.23

ARP tablosunu boşaltmak

ip -s neigh flush all

Bazı işlemleri netstat kullanarakta yapabiliriz. TCP ve UDP bağlantılarını görebiliriz, yönlendirmeleri görebiliriz, bekleyen bağlantıları görebiliriz. Tüm dinlenen bağlantıları listeleyebiliriz.

route listesi

netstat -r

Sadece TCP bağlantılarını listeleme

netstat -at

Sadece UDP bağlantılarını listeleme

netstat -au

Dinlenen bağlantıları listeleme

netstat -l

Tüm bağlantıların listelenmesi

netstat -lx

TCP ve UDP bağlantılarının listelenmesi

netstat -taunp

Testler sırasında kullanabileceğiniz linuxün en temel araçlarından biri olan curl komutlarına bakalım

curl https://mertcangokgoz.com/

Web sitesinin header bilgisini almak

curl --head https://mertcangokgoz.com/
curl -I https://mertcangokgoz.com/

Geçersiz sertifikalı bağlantı olan bir web sitesinin header bilgisini almak

curl --insecure https://mertcangokgoz.com/
curl -k https://mertcangokgoz.com/

Talep edilen siteye header ekleme

curl --header "Host: www.google.com" https://mertcangokgoz.com/
curl -H "Host: www.google.com" https://mertcangokgoz.com/

User-Agent

curl --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0" https://mertcangokgoz.com/

301 yönlendirmelerini takip etmek

curl -L https://mertcangokgoz.com/

Post isteği gönderme

curl --data "id=1&ad=mertcan" https://mertcangokgoz.com/

Kimlik doğrulama işlemi

curl --user mertcan:gokgoz https://mertcangokgoz.com/

Gigabit Porta Sahip Linux Sunucuların Optimize Edilmesi

Bu yazımda, Gbit/s veri aktarımlarını gerçekleştirmek için işletim sistemini nasıl yapılandırabileceğinizi anlatmaya çalışacağım.

Bir süredir 1 Gigabit ağ kartı kullanan firmalar vardı. (Türkiye’de hala %95 her yer 1 Gbit kullanır. İstisnalar hariç) Bahsettiğim oldukça yakın bir tarih değil ve yakın zamanda 10Gbit/s‘lik ağ kartlar kullanılmaya başlandı hem donanım tarafında hem de kullanıcı tarafında yüksek hızlara ulaşmak mümkün oldu. Bununla birlikte saniyede x Gigabit kullanmak çoğu zaman mümkün değildir.

network-temsili-gorsel

Son sistemlerde çeşitli bileşenlerin dikkatle ayarlanması gerekir böylece yüksek hızlara ulaşabilme imkânınız olabilir.

Aslında bu yazı TCP‘yi kullanarak veri aktarımını gerçekleştirmekle ilgili olsa da genel olarak diğer aktarım türleri içinde kullanılabilir. Mümkünse her zaman UDP veri aktarımlarını kullanarak testleri gerçekleştirin ve her şey yolunda ise TCP‘yi kullanın.


txqueuelen(the length of the transmit queue)

linux-network-kuyruk

interfaces üzerinde mevcut kuyruğu arttırıyoruz. Bu değeri kafamıza göre seçmiyoruz. Arayüzler için 1000 ila 20000 arasında bir değer seçmeniz önerilir. En iyi değerler 8000 ila 16000 bin arasında alınabilir. Yüksek hızlı bağlantınız varsa bunu aralığın en yüksek değeri olan 20000 çekmek gerekir.

ifconfig <interfaces-name> txqueuelen 20000
  1. Modem bağlantıları ve ISDN gibi yüksek gecikme süresi olan daha yavaş cihazlar için küçük bir değer.
  2. Büyük veri aktarımlarını gerçekleştiren yüksek hızlı Internet bağlantılarına bağlı sunucular için yüksek değer önerilir.
echo 'ifconfig ens3 txqueuelen 20000' >> /etc/rc.local

Yukarıdaki örnekte sistemin her açılışında txqueuelen(the length of the transmit queue) değerinin arayüz için 20000 seviyesine getirilmesi sağlayacaktır.


RPS(Receive Packet Steering)

devconf-redhat-rps-gorsel

IP adreslerinden ve port numaralarından bir karma oluşturur, paketin hangi CPU’ya ekleneceğini belirlemek için kullanılır.

Karmanın kullanımı, aynı veri akışı içerisinde olanlar için paketlerin gönderilmesini sağlar, performansı arttırmak için CPU’ya yardımcı olur.

up echo f > /sys/class/net/eth1/queues/rx-0/rps_cpus

Ayarlamaları yaparken kullanacağınız CPU değerleri ve onlara karşılık gelenler ise şu şekildedir;

Çekirdek Değer
0-3 f
8-15 ff00

Receive Flow Steering(RFS)

flow-steering-gorsel

CPU önbellek oranını artırmak ve ağ gecikmesini azaltmak içinde kullanılır.

Tek bir gönderenden alınan veriler birden fazla CPU’ya gönderilmez. Tek bir gönderenden alınan veri miktarı tek bir CPU’nun işleyebileceğinden daha büyükse, CPU için işlem miktarını azaltmak için daha büyük bir frame yapılandırın.(zaten aşağıda yapıyoruz)

Öntanımlı olarak gelen bu özelliği tamamen aktif etmek için ise, düzenlemeniz gereken 2 adet dosya bulunuyor.

echo 32768 > /proc/sys/net/core/rps_sock_flow_entries
echo 2048 > /sys/class/net/eth0/queues/rx-0/rps_flow_cnt

eth0 adlı arayüzü kendi sisteminizdeki arayüz ile değiştirmeyi unutmayın. rps_sock_flow_entries değerinde girmiş olduğumuz 32768 değerinin 16 ya bölümünden elde ettiğimiz değeri rps_flow_cnt değerine giriyoruz.


Kernel Optimizasyonları

Kernel ayarlamaları topluca vermeyi tercih ediyorum. Ayarlar 1 Gbit/s ve Üstü interfaces kullananlar için düzenlenmiştir.

nano /etc/sysctl.conf

Dosya içerisine aşağıdaki ayarları ekleyin. Kayıt edip çıkın

net.ipv4.ip_forward = 0
net.ipv4.tcp_syncookies = 1
#net.ipv4.tcp_synack_retries = 2
#net.ipv4.tcp_syn_retries = 2
    
net.ipv4.conf.default.forwarding = 0 
net.ipv4.conf.default.proxy_arp = 0 
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.all.send_redirects = 0

kernel.sysrq = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.icmp_ignore_bogus_error_responses = 1

net.core.rmem_max = 33554432
net.core.wmem_max = 33554432
net.ipv4.tcp_rmem = 4096 87380 33554432 
net.ipv4.tcp_wmem = 4096 65536 33554432  
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_moderate_rcvbuf = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_fin_timeout = 4

vm.min_free_kbytes = 65536
net.ipv4.netfilter.ip_conntrack_max = 196608
net.netfilter.nf_conntrack_tcp_timeout_established = 7200
net.netfilter.nf_conntrack_checksum = 0
net.netfilter.nf_conntrack_max = 196608 
net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 15

net.nf_conntrack_max = 196608
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 10
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.ip_local_port_range = 1025 65530
net.core.somaxconn = 20480
net.ipv4.tcp_max_tw_buckets = 2000000
net.ipv4.tcp_timestamps = 0

Ayarlamaların geçerli olabilmesi için ise aşağıdaki komutu verin.

sysctl -p

Yukarıda bahsi geçen tüm ayarlamalar pratikte piyasadaki bütün nix sistemler de çalışacaktır. Red hat ve Debian tabanlı sistemlerde sorunsuz bir şekilde ayarlamaları kullanabilirsiniz.


Referanslar

RedHat Performance Tuning
Kernel Network Scaling

iptables ile NAT’ın Adım Adım Yapılandırılması

Sistemin bir ağ geçidi görevi görebilmesi ve bir yerel ağdaki birden çok ana bilgisayara tek bir ortak IP adresi kullanarak internet erişimi sağlayabilmesi için, iptables kurallarına sahip bir Linux sisteminde ağ adresi çevirisinin (NAT) nasıl yapılacağını adım adım göstermeye çalışacağım.

Sistemlerinize göre Interface’de nasıl IP sabitleniri anlatmayacağım. Ayrıca NAT yapabilmeniz için birden çok interfaces’inizin olması gerekiyor. Ben yazıyı anlatırken çift interface kullanarak kendime bir router yapıyordum.

Kablonet kullandığım için Modemi köprü moduna alarak interfaceslerin birini DHCP moda aldım ve ISP‘nin kullanmış olduğu DHCP sunucusu(178.233.140.66) üzerinden İp adresimi cihaz üzerine alabildim.

  • eth0: Köprü modundaki interfaces
  • eth1: İnternet erişimini dağıtacağımız adres(iç bacağımız)

Ayrıca Sabit IP adresim olduğu için kullandığım cihaza tekrar sabit ip adresimin eklenebilmesi için ISP tarafında MAC adress sabitleme işlemi gerçekleştirdim.

Şimdi güvenlik duvarında eski ayarlamalardan kalan tüm yönlendirme ve ayarları kaldıracağım. Zincirleme yaptığım tüm bağlantıları, yönlendirmeleri ve açık portları kapatıyorum.

iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain

Şimdi İnterfacesler arası yönlendirme işlemini yapacağım. Trafiği direk olarak interneti dağıtacağım interfaces üzerine yönlendiriyorum.

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

NAT işlemini yukarıdaki gibi gerçekleştirip interfacesler arasındaki ilişkiyide sağladık. Sıra geldi yönlendirme ayarlarının yapılmasına kernel tarafında yapılacak olan bu ayarlamalar için şu şekilde bir aksiyon yapabilirsiniz.

sudo nano /etc/sysctl.conf

İçerisinde aşağıdaki satırları bulup başlarındaki # kaldırın.

net.ipv4.conf.default.forwarding=1

IPv6 ihtiyacınız varsa ona göre bir alt satırda bulunan IPv6 komutunuda aktif edin. Bu işlem geçerli olabilmesi için sudo sysctl -p komutunuda veriyorsunuz.

Tüm işlemler tamamlandı artık eth0 dan gelen interneti eth1 interfacesi üzerinden dağıtabiliyoruz.

dipnot: ISP kısıtlamalarından dolayı bazı modemlerde köprü modu bulunmamaktadır.