Mertcan GÖKGÖZ tarafından yazılmış tüm yazılar

Sistem Uzmanı, Linux Hacısı, El-Kernel

Linux’te Software RAID Nasıl Yapılır?

RAID (açılımı Redundant Array of Inexpensive Disks), farklı disklerdeki birden fazla bölümü RAID dizisi olarak da bilinen büyük bir sanal aygıtta birleştirmek için kullanılan bir yöntemdir. Bunun çeşitli avantajları vardır:

  1. Her birini farklı bir bağlama noktası dizinine ayrı ayrı bağlamak yerine, mevcut tüm sabit diskleriniz kadar büyük tek bir dosya sistemi oluşturabilirsiniz.
  2. Çoğu durumda, bir RAID cihazından okuma ve yazma tek bir diske erişmekten daha hızlıdır, çünkü okunan veya yazılan veriler birden fazla sürücüye yayılmıştır.
  3. Doğru yapılandırmayla, bir RAID cihazındaki veriler sabit disklerden herhangi biri arızalansa bile hayatta kalabilir. Bu, yedek bilgilerin tüm sürücülere yayılmasıyla gerçekleştirilir ve bir miktar disk alanı pahasına yapılır.

Linux’ta, RAID dizileri için çeşitli seçenekler vardır. Bu bölümde, Linux’ta yazılım RAID’ı nasıl yapılandıracağınızı ve yöneteceğinizi göstereceğim.

Yazılım RAID’ı için Gereksinimler

Linux’ta yazılım RAID’ı oluşturmak için, Linux çekirdeğinin RAID desteğini etkinleştirmeniz gerekir. Bu, çoğu Linux işletim sisteminde desteklendiği anlamını taşır. Ayrıca, RAID dizilerini oluşturmak için kullanacağınız araçları da yüklemeniz gerekebilir. Bu araçlar, çoğu Linux dağıtımında mdadm paketi altında bulunur.

Debian tabanlı bir sistemde, mdadm paketini şu komutla yükleyebilirsiniz:

sudo apt install mdadm
ShellScript

RAID Array Oluşturma

Sistemimizde kaç tane disk olduğunu görmek için lsblk komutunu kullanabiliriz:

lsblk
ShellScript

elimizde raid yapabileceğimiz 3 adet 1TB boyutunda disk gözüküyor bunları raid yapmak için kullanacağız.

root@mail:/# lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME     SIZE FSTYPE            TYPE  MOUNTPOINT
loop1   73.9M                   loop  /snap/core22/864
loop2  152.1M                   loop  /snap/lxd/26200
loop3   49.8M                   loop  /snap/snapd/18596
loop4  152.1M                   loop  /snap/lxd/26093
loop5   40.9M                   loop  /snap/snapd/20290
loop6   74.1M                   loop  /snap/core22/1033
sda    931.5G                   disk
sdb    111.8G                   disk
├─sdb1     1M                   part
└─sdb2 111.8G ext4              part  /
sdc    931.5G                   disk
sdd    931.5G                   disk
ShellScript

Bir array oluşturmak için kullanılan aygıtları bulduktan sonra, RAID kurulumu için meta verileri tutan süper
bloklarını sıfırlamalıyız yoksa inode hataları ile karşılaşırız çünkü raid ile diski genişletmiş olacağız.

Bunu sıfırlamak RAID meta verilerini kaldırır ve normale sıfırlar:

sudo mdadm --zero-superblock /dev/sd{a,c,d}
ShellScript

Şimdi, RAID dizisini oluşturmak için mdadm komutunu kullanabiliriz.

sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=3 /dev/sd{a,c,d}
ShellScript

Bu komut, RAID dizisini oluşturur ve /dev/md0 adlı bir aygıt dosyası oluşturur. Bu aygıt dosyası, RAID dizisine erişmek için kullanacağımız şeydir. Bu komut ayrıca, RAID dizisinin RAID 0 olarak yapılandırılacağını ve üç diskten oluşacağını belirtir.

root@mail:/# cat /proc/mdstat
Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid0 sda[2] sdd[1] sdc[0]
      2929890816 blocks super 1.2 512k chunks

unused devices: <none>
ShellScript

Ardından oluşturduğumuz RAID dizisini bir dosya sistemiyle biçimlendirmemiz gerekir. Bu, RAID dizisini kullanmaya başlamadan önce yapılması gereken bir adımdır.

sudo mkfs.ext4 -F /dev/md0
ShellScript

Dosya sistemi oluşturulduktan sonra, RAID dizisini bir dizine bağlayabiliriz. Bu dizin, RAID dizisine erişmek için kullanacağımız şeydir.

sudo mkdir -p /mnt/data
sudo mount /dev/md0 /mnt/data
ShellScript

RAID Düzenini Kayıt Altına Alma

RAID dizisini oluşturduktan sonra, RAID düzenini kayıt altına almak için mdadm komutunu kullanabiliriz.

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
ShellScript

Bu, /etc/mdadm/mdadm.conf dosyasına bir satır ekler. Bu, RAID dizisini her zaman otomatik olarak oluşturacağı anlamına gelir.

Daha sonra, initramfs ya da başlangıç RAM dosya sistemini güncelleyebilirsiniz, böylece dizi erken önyükleme işlemi sırasında kullanılabilir olacaktır:

sudo update-initramfs -u
ShellScript

RAID Array’i fstab’a eklemek

RAID dizisini oluşturduktan sonra, onu /etc/fstab dosyasına ekleyebiliriz.

/dev/md0 /mnt/data ext4 defaults,nofail,discard 0 0
ShellScript

Bu, RAID dizisini her zaman otomatik olarak mount edecektir. nofail seçeneği, RAID dizisi başlatılamazsa, sistemin yine de başlamasını sağlar. discard seçeneği, RAID dizisindeki dosyaları silerken TRIM komutunu kullanacağını belirtir.

RAID Array’e Disk Eklemek

RAID dizisine disk eklemek için, mdadm komutunu kullanabiliriz.

mdadm /dev/md0 --add /dev/sdc1
ShellScript

Bu, RAID dizisine /dev/sdc1 adlı bir disk ekler. Bu, RAID dizisini genişletir ve RAID dizisine eklenen diskteki tüm verileri siler.

RAID Dizisinden Disk Kaldırmak

RAID dizisinden disk kaldırmak için, mdadm komutunu kullanabiliriz.

mdadm /dev/md0 --fail /dev/sda1 --remove /dev/sda1
ShellScript

Bu komut, /dev/sda1 adlı bir disk kaldırır. Bu, RAID dizisini küçültür ve RAID dizisinden kaldırılan diske erişilemez hale getirir. Diskteki veriler silinmez ancak veriler kullanılamaz hale gelir. Bu, RAID dizisinden bir disk kaldırmak için kullanılan en güvenli yöntemdir. Ayrıca hatalı diski kaldırmak için de kullanılır.

RAID Dizisini Tamamen Kaldırmak

RAID dizisini tamamen kaldırmak için, mdadm komutunu kullanabiliriz.

mdadm --stop /dev/md0
mdadm --remove /dev/md0
ShellScript

Bu, RAID dizisini kaldırır ve RAID dizisindeki tüm verileri siler.

UYARI

mdadm’in RAID 5 dizilerini oluşturma şekli nedeniyle, dizi hala oluşturulurken, dizideki yedeklerin sayısı yanlış gözükür.

Bu, /etc/mdadm/mdadm.conf dosyasını güncellemeden önce dizinin mount’unun bitmesini beklemeniz gerektiği anlamı taşır. Dizi oluşturulmaya devam ederken yapılandırma dosyasını güncellerseniz, sistem dizinin durumu hakkında yanlış bilgiye sahip olacağı ve önyükleme sırasında diziyi doğru adla otomatik birleştiremeyeceği anlamına gelir.

RAID dizisini oluşturduktan sonra, RAID dizisini oluşturan disklerden herhangi biri arızalanırsa, RAID dizisi bozulur. Bu, RAID dizisindeki tüm verilerin kaybedilmesine neden olur. Bu nedenle, her an bir planınız olmalıdır.

Turksat Kablonet ZTE ZXHN F6600 Modem Bridge Modu

Bildiğiniz gibi şubat ayında Turksat Fiber Dönüşümü: Aydınlıkevler de 1 Gbit Genişbant İnternet konusunda belirttiğim üzere GPON alt yapısına geçişim tamamlanmıştı, aynı gün verilen modemi sadece geçiş için kullanıp MikroTik RB3011UiAS-RM cihazımı devreye aldım. Aynı şekilde kullanmak isteyenler olabilir, Turksat diğer sağlayıcılar gibi değil bu sebeple yapılacaklar biraz farklı, en temelde PPPoE bilgilerini almak için tırmalamamız gerekmiyor.

Önce TÜRKSAT’ın müşteri paneline giriş yapmalıyız. https://www.turksatkablo.com.tr/ adresinden bunu gerçekleştirebilirsiniz, hemen ardından “Hizmet işlemleri -> Mevcut Hizmetler” listesinde kullandığınız internet hizmetini bulun.

Ekran görüntüsünde modem ayarları seçenekleri.

Tıkladığınızda sayfa sizi bir süre bekletecek, modeme erişip erişemediğini kontrol ediyor TR069 üzerinden işlemleri yapacak. Erişilebilir olduğunu fark ettiği gibi sizi aşağıdaki sayfaya atacak

Modem bridge modu aktif/pasif gösterge ekranı.

Aktif etmek için Switche tıkladığınızda ekranda PPPoE bilgileriniz belirecek ve hemen ardından modeminiz yeniden başlayacak, bu arada bilgileri kayıt etmeyi unutmayın daha sonrasında tekrar almak için baya uğraşmanız gerekir.

UYARI: Verilen cihaz asla fabrika ayarlarına çevrilmemelidir, ekip modemi arkasındaki reset tuşuna basarak sıfırlayın dese bile yapmayın. Bu işlem sadece uzaktan ekip tarafından yapılmalıdır. Modem online olmaması durumlarında elle fabrika yarlarına çevrilmemelidir.

Modem tekrar başladığında kullanıcı bilgileriniz ile arayüze giriş yaptığınızda aşağıdaki işlemleri gerçekleştirin.

  1. DHCP Kapatılmalı
  2. Firewall Kapatılmalı
  3. Anti-Dos Kapatılmalı
  4. WiFi Kapatılmalı
  5. Hata tespiti için “Log Günlükleme” aktif edilmeli (Yönetim ve Tanı menüsü altında yer almaktadır.)

Şimdi bilgilerimizi de aldığımıza göre kullanacağımız Router’a bağlantıları yapmaya geldi sıra, ZTE ZXHN F6600 ve/veya ZTE ZXHN F600P bridge yani köprü modunda sadece LAN1 portundan yapmanıza izin veriyor. Diğer portlardan bağlantı sağlarsanız büyük ihtimalle PPPoE sunucusuna bağlanamayacaksınız.

Çünkü modem trafiği iletmemiş olacak. Loglarınızda bolca aşağıdaki çıktıları göreceksiniz. MikroTik’te aşağıdaki gibi gözüküyor. Bildiğimiz PPPoE erişim hatası PPPoE sunucusu ile haberleşemiyor demek.

TURKSAT ağ bağlantı durumu günlüğü.

Kullandığınız cihaz ne olur bilemem bu sebeple PPPoE ayarlarını anlatmam güç ancak TURKSAT’ın size verdiği bilgiler gerek standartlara uyuyor. Yani ön tanımlı kullanacağınız bir ayar bile internet erişiminizin sağlanması için yeterli olacaktır.

dipnot: MTU konusuna gelirsek, benim gibi yüksek oranlar sevenler için ki sebebini bilenler bilir. Interface üzerinde yükseltmeyi deneyebilir. Ancak TURKSAT 1500 MTU’ya kadar desteklemektedir ve üstünü yapsak bile MRU ile kısıtlamaktadır.

MikroTik RouterOS 7.15beta9 Çıktı

Severek Kullandığımız MikroTik RouterOS yeni beta sürümü çıktı. Yeni sürümde winbox üzerinde daha çok işlem yapabileceğiz, bridge mod için MVRP desteği eklendi, wifi-qcom sürücüsü güncellendi ve wireguard’da yaşanan performans sorunu giderildi.

https://mikrotik.com/download

Backup: https://www.mediafire.com/file/vi7mqk3npgmpjtv/MikroTik-RouterOS-7.15beta9-all.rar/file

Değişiklik listesi

What's new in 7.15beta9 (2024-Mar-27 21:55):

*) bgp - added initial vpnv6 support;
*) bridge - added MVRP support;
*) console - added "sanitize-names" property under "/console/settings" menu (option for replacing reserved characters with underscores for files, disabled by default);
*) console - added multi-line print in "/file" menu; 
*) console - remove unnecessary serial ports for Alpine CPUs;
*) defconf - fixed 5ghz-ax channel width for L11, L22 devices;
*) dhcpv4-relay - added VRF support (CLI only);
*) eap - improved eap-peap, eap-mschap2 client authentication (dot1x/wireless/ipsec);
*) health - fixed missing "cpu-temperature" on IPQ-60xx devices (introduced in v7.15beta8);
*) ipv6 - properly initialize default ND "interface=all" entry;
*) media - added support for DLNA;
*) ppp - added "enable-ipv6-accounting" option under PPP AAA menu (CLI only);
*) ppp - fixed "Framed-IPv6-Pool" usage when received from RADIUS;
*) ppp - fixed reporting of frame error rate (introduced in v7.15beta8);
*) qos-hw - added "profile" and "map" support for CPU port;
*) qos-hw - added per-queue traffic shapers (CLI only);
*) sfp - added "100M-baseFX" link mode support for compatible devices;
*) sms - removed SMS for SMIPS;
*) system - general work on optimizing the size of RouterOS packages;
*) system - show "cpu-frequency" for Alpine CPUs;
*) vlan - added MVRP (applicant) configuration option;
*) wifi - added "reselect-interval" support;
*) wifi - rename "available-channels" parameter to "channel-priorities" and include desirability rating for each channel;
*) wifi - report current CAPsMAN address and identity on CAP;
*) wifi-qcom - added configuration.distance setting to enable operation over multi-kilometer distances (CLI only);
*) wifi-qcom - updated driver;
*) winbox - added key type and key length column for user SSH keys;
*) winbox - added passphrase option for SSH host key export;
*) winbox - added passphrase option for SSH host key import;
*) winbox - allow specifying size and rtmpfs size with M, G units under "System/Disks" menu;
*) winbox - do not show "Host Key Size" when using ed25519 key under "IP/SSH" menu;
*) winbox - renamed "Channel" column to "Current Channel" under "Wifi" menu;
*) winbox - show inherited properties for wifi interfaces;
*) winbox - updated icons for certain menus;
*) wireguard - added option to mark peer as responder only;
*) wireguard - fixed performance issues showing QR code;
ShellScript

CVE-2024-3094 Kontrol Amaçlı Ansible Task

Toplu bütün makinelerde Zafiyet kontrolü yapmak isteyenler için CVE-2024-3094 xz sürüm kontrolü yapan ve çıktı basan ansible taskı

- hosts: all
  tasks:
  - name: Run CVE-2024-3094 vulnerability check script
    shell: |
      set -eu

      echo "Checking system for CVE-2024-3094 Vulnerability..."
      echo "https://nvd.nist.gov/vuln/detail/CVE-2024-3094"

      # find path to liblzma used by sshd
      # adapted from https://www.openwall.com/lists/oss-security/2024/03/29/4
      sshd_path=$(whereis -b sshd | awk '{print $2}')
      path=$(ldd "$sshd_path" 2>/dev/null | grep -o '/.*liblzma[^ ]*' | head -1)

      if [ -z "$path" ]; then
          echo
          echo "Probably not vulnerable (liblzma not found)"
          exit
      fi

      # check for function signature
      # adapted from https://www.openwall.com/lists/oss-security/2024/03/29/4
      echo
      echo "Checking for function signature in liblzma..."
      if hexdump -ve '1/1 "%.2x"' "$path" | grep -q 'f30f1efa554889f54c89ce5389fb81e7000000804883ec28488954241848894c2410'; then
          echo "Function signature in liblzma: VULNERABLE"
      else
          echo "Function signature in liblzma: OK"
      fi

      # check xz version
      echo
      echo "Checking xz version..."
      xz_version=$(xz --version | head -n1 | awk '{print $4}')
      if [[ "$xz_version" == "5.6.0" || "$xz_version" == "5.6.1" ]]; then
          echo "xz version $xz_version: VULNERABLE"
      else
          echo "xz version $xz_version: OK"
      fi
    register: script_output

  - debug:
      var: script_output.stdout_lines
ShellScript

MikroTik RouterOS 7.14.2 Stable Çıktı

Severek Kullandığımız MikroTik RouterOS yeni beta sürümü çıktı. Varsayılan DHCP sunucu kiralama süresini geçersiz kılma ve geliştirilmiş sistem kararlılığı

https://mikrotik.com/download

Değişiklik listesi

What's new in 7.14.2 (2024-Mar-27 09:48):

*) defconf - do not override default DHCP server lease time;
*) defconf - fixed 5ghz-ax channel width for L11, L22 devices;
*) ethernet - fixed interface disable for CRS326-4C+20G+2Q;
*) ethernet - improved port speed downshift functionality for CRS326-4C+20G+2Q;
*) leds - fixed LEDs for L22 device;
*) lte - fixed firmware upgrade not found issue for Chateau LTE12 (introduced in v7.14.1);
*) ssh - require "policy" user policy when adding public key;
*) timezone - updated timezone information from "tzdata2024a" release;
*) traffic-flow - improved system stability;
*) vrf - fixed VRF interfaces being moved to main table after reboot (introduced in v7.14);
*) wifi-qcom - added configuration.distance setting to enable operation over multi-kilometer distances (CLI only);
ShellScript

MikroTik RouterOS 7.15beta8 Çıktı

Severek Kullandığımız MikroTik RouterOS yeni beta sürümü çıktı. Yeni sürümde wifi stabilitesi ve bridge tarafında önemli iyileştirmeler içeriyor.

https://mikrotik.com/download

Değişiklik listesi

What's new in 7.15beta8 (2024-Mar-21 09:12):

*) bridge - added MVRP support;
*) bridge - improved protocol-mode STP, RSTP and MSTP stability; 
*) bridge - reworked dynamic VLAN creation;
*) certificate - added support for different ACME servers for ssl-certificate (CLI only);
*) console - fixed DHCP server "authoritative=no" configuration export;
*) console - improved stability;
*) container - do not allow negative number for "ram-high" setting;
*) defconf - do not override default DHCP server lease time;
*) disk - improved system stability when adding partition with no parent;
*) eap - improved eap-peap, eap-mschap2 client authentication (dot1x/wireless/ipsec);
*) ethernet - fixed interface disable for CRS326-4C+20G+2Q;
*) ethernet - improved port speed downshift functionality for CRS326-4C+20G+2Q;
*) fetch - changed topic "info" to "error" for permission denied logs;
*) fetch - fixed slow throughput due to "raw" logging which occurred even when not listening to the topic (introduced in v7.13);
*) file - fixed moving files to/from external storage (introduced in v7.15beta4);
*) health - added "cpu-temperature" for IPQ50xx devices; 
*) health - fixed fan behavior for CRS310-1G-5S-4S+ (introduced in v7.14);
*) health - fixed rogue voltage on CRS510-8XS-2XQ-IN;
*) leds - fixed LEDs for L22 device;
*) lte - fixed firmware upgrade not found issue for Chateau LTE12 (introduced in v7.15beta4);
*) media - added support for DLNA;
*) metarouter - removed support;
*) netinstall - improved stability;
*) ovpn - fixed import ovpn config when remote port is missing;
*) package - reduced "wireless" package size for ARM, ARM64 devices;
*) package - reduced package size for SMIPS;
*) ppp - added "enable-ipv6-accounting" option under PPP AAA menu (CLI only);
*) ppp - added addition support to monitor modem registration state, RSRP, RSRQ, SINR, PCI, CellID for BG77 modem;
*) qos-hw - fixed port "print stats/usage" when using "from" property; 
*) quicksest - only show LTE mode for devices without other wireless interfaces;
*) route - rework of route attributes;
*) route-filter - allow setting different AFI gateways;
*) sfp - fixed "sfp-tx-fault" state indication for CRS510;
*) sfp - improved auto-negotiation linking for some MikroTik cables and modules;
*) sfp - improved system stability with some GPON modules for CCR2004 and CCR2116 devices;
*) socks - attempt to parse domain name as IP before resolving;
*) ssh - require "policy" user policy when adding public key;
*) system - fixed upgrade for CCR2004-1G-12S+2XS (introduced in v7.15beta6);
*) system - updated office address in RouterOS license;
*) system - updated online manual links from "wiki" to the help documentation;
*) timezone - updated timezone information from "tzdata2024a" release;
*) traffic-flow - improved system stability;
*) webfig - allow pasting with ctrl+v into terminal;
*) webfig - fixed column preferences for ordered tables;
*) wifi - changed interface default to "disabled=yes";
*) wifi - improve regulatory compliance for L11, L22 devices;
*) wifi - improved stability of DFS check in the 5GHz-A band;
*) wifi - improved system stability when provisioning CAPs in certain cases;
*) wifi - show inherited properties with "print" command (replaces "actual-configuration") and added "print config" for showing only configured values;
*) winbox - fixed the issue where the skin file fails to appear in the user group menu after creation;
*) winbox - updated icons for WireGuard and ZeroTier menus;
*) wireguard - added option to mark peer as responder only (CLI only);
*) wireless - perform shorter channel availability check for 5600-5650MHz if regulatory domain permits it;
*) x86 - improved stability for RTL8125 driver;
*) x86/chr - improved panic saving (increased minimal RAM requirements to 256MB);
Plaintext

MikroTik SwitchOS 2.16 Stable Çıktı

MikroTik Switch Ailesini kullanan arkadaşlar için güzel haberim var, son çıkan sürümde özellikle IGMP versiyon seçme, SFP rate seçimi, SFP+ portların 2.5G veya 10G seçimi zorlayabiliyoruz. Ayrıca yeni cihazlar içinde destek eklendi.

https://mikrotik.com/download#switchos

Değişiklik Günlüğü

What's new in v2.16:

*) added support for CRS310-1G-5S-4S+IN/OUT; CRS310-8G+2S+IN
*) added notification when Primary backup firmware is in use
   and encourage moving to Secondary regular firmware;
*) added confirmation dialog before resetting configuration;
*) added support for board-specific backup filename generation;
*) added SNMP serial number and version OIDs;
*) added option to disable IGMP querier;
*) added option to specify IGMP version;
*) added support for host table sorting;
*) added Clear All/Set Default buttons in the Port Isolation menu;
*) added options to set forced 2.5G or forced 10G for SFP+ ports;
*) added support for SFP rate select;
*) added support for pages in the host table;
*) css106: fixed Ethernet disable;
*) css106: fixed BPDU receive on only-tagged VLAN ports;
*) css106: fixed "Lock On First" setting;
*) css106: fixed RSTP port blocking;
*) css106: improved system stability;
*) crs312: fixed linking after changing auto-negotiation setting for combo ports;
*) crs354: added missing health readouts;
*) crs3xx: improved packet buffer resource allocation;
*) fixed duplicate IGMP query packets when IGMP snooping is enabled;
*) fixed multicast forwarding after disabling IGMP snooping;
*) fixed non-DHCP packet forwarding when Option82 is enabled;
*) fixed neighbor discovery from WinBox;
*) fixed port numbering in BPDU packets;
*) fixed packet forwarding after disabling RSTP on blocked port;
*) fixed IGMP group removal on link down;
*) fixed DHCP packet bypass on LAG by "Add Information Option";
*) fixed fragmented packet drops by "Add Information Option";
*) fixed DHCP request duplication when using DHCP Snooping;
*) fixed DHCP packet forwarding to untrusted ports;
*) fixed forbidden deletion of Default VLAN ID;
*) fixed SNMP ifSpeed OID reporting in certain cases;
*) fixed incorrectly restored backup configuration in some cases;
*) fixed S-RJ01 false detection as multi-mode fiber;
*) fixed SFP+ interface linking after enabling autonegotiation;
*) fixed QSFP+ interface linking after re-enabling it;
*) improved SwOS web interface stability and responsiveness;
*) increased up to 64 byte SNMP Community/Contact/Info/Location;
Plaintext

MikroTik CHR Nasıl Lisanslanır?

Cloud Hosted Router (CHR), sanal makine olarak çalıştırılmak üzere tasarlanmış bir RouterOS sürümüdür. X86 64-bit mimarisini destekler. VMWare, Hyper-V, VirtualBox, KVM ve diğerleri gibi popüler hipervizörlerin çoğunda kullanılabilir. CHR, varsayılan olarak tam RouterOS özelliklerine sahiptir ancak diğer RouterOS sürümlerinden farklı bir lisanslama modeline sahiptir ve bazı kısıtlamalar yer alır.

Sistem Gereksinimleri

  • Paket sürümü: RouterOS v6.34 veya daha yeni bir sürüm
  • Ana bilgisayar CPU’su: Sanallaştırma destekli 64 bit işlemci
  • RAM: 128MB veya daha fazla (Maks: 128GB)
  • Disk: CHR sanal sabit sürücüsü için 128MB disk alanı (Maks: 16GB)
  • Gerekli minimum RAM arayüz sayısına ve CPU sayısına bağlıdır. Aşağıdaki formülü kullanarak yaklaşık bir sayı elde edebilirsiniz:
RouterOS v6 - RAM = 128 + [ 8 × (CPU_COUNT) × (INTERFACE_COUNT - 1) ]
RouterOS v7 - RAM = 256 + [ 8 × (CPU_COUNT) × (INTERFACE_COUNT - 1) ]
ShellScript

Not: CHR örnekleri için kullanım senaryonuza göre en az 1024MiB RAM ayırmanızı öneririz.

Hangi Sanallaştırma Platformlarında Çalışır?

  • Linux ve OS X üzerinde VirtualBox 6
  • OS X üzerinde VMWare Fusion 7 ve 8
  • VMWare ESXi 6.5
  • Linux ve OS X üzerinde Qemu 2.4.0.1
  • Windows Server 2008r2, 2012 ve Windows 10 üzerinde Hyper-V (Şu anda yalnızca 1. Nesil Hyper-V sanal makinesi desteklenmektedir)
  • Xen 7.1

Nasıl Lisanslanır?

CHR’nin 4 lisans seviyesi vardır, bunlardan birini seçerek devam edebilirsiniz ancak bazı kısıtlamaları kabul etmiş sayılırsınız.

Fiyat’ın Alındığı Tarih: 10.03.2024

  • Free (1Mbit hız sınırlı)
  • p1 perpetual-1 ($45)
  • p10 perpetual-10 ($95)
  • p-sınırsız sürekli-sınırsız ($250)

60 günlük ücretsiz deneme lisansı tüm ücretli lisans seviyeleri için mevcuttur. Ücretsiz deneme lisansını almak için bir mikrotik hesabınızın olması gerekir, lisans yönetimi buradan yapılır.

“Perpetual” ömür boyu lisanstır (bir kez satın al, sonsuza kadar kullan). Kalıcı bir lisansı başka bir CHR örneğine aktarmak mümkündür. Çalışan bir CHR, lisansını yenilemek için hesap sunucusuna erişmesi gereken zamanı gösterecektir. CHR lisansı yenileyemezse, deneme süresi bitmiş gibi davranacak ve RouterOS’un daha yeni bir sürüme yükseltilmesine izin vermeyecektir ancak tüm özellikleri kullanılabilir olacaktır.

Lisanslamayı yapmadan önce lisans durumunu kontrol etmek isteyebilirsiniz, bunu yapmak için aşağıdaki komutu elle çalıştırmalısınız.

[mertcan@MikroTik] > /system license print 
  system-id: 6dHTJaL/utuJ
      level: free
ShellScript

“system-id” her mikrotik CHR kurulumu için benzersizdir ve lisansı bunun üzerinden kontrol edersiniz. Çalışan bir CHR’yi lisansladıktan sonra, aktif hale getirmek için CHR konsolundan aşağıdaki komut elle çalıştırılmalıdır.

[mertcan@MikroTik] > /system license renew 
account: mertcan
password: ********
level: p10
  status: done
ShellScript

Aksi takdirde, sistem lisanslandığını bilmeyecektir ve deneme sona erecektir tamamen yeni bir CHR kurulumu yapmanız, yeni bir deneme talep etmeniz ve ardından aldığınız lisansla lisanslamanız gerekecek. Süreç en başından tekrar başlayacaktır. Trial Lisanslar sistemde aşağıdaki şekilde gözükür.

Kullanıcı anahtarları ve lisans yönetim tablosu.

Satın alınan lisanslar, süresi dolmuş lisanslar ve parası ödenmiş ancak kullanılmaya başlamamış lisanslar aynı ekranda gözükmektedir. Trial süresi sonunda “Upgrade” diyerek kolay bir şekilde lisansınızı yükseltebilirsiniz.

ESXi Üzerine MikroTik CHR Nasıl Kurulur?

ESXi 6.5 ve daha üst versiyonlar üzerinde CHR kurulumunu kolay bir şekilde yapılabilmektedir. Anlatılanları yapmadan hemen önce lütfen network ayarlarınız yapınız. Örneğin bir subnet kullanılacaksa ve bunun üzerinden trafik yönlendirecekseniz ESXi Routed VM Network Nasıl Oluşturulur? makalesine lütfen göz atınız.

Burada dikkat edilecek bir kaç nokta yer almaktadır;

  1. CHR kurulumu için ESXi üzerinde 2 adet network kartı olması gerekmektedir.
  2. Makine tipi ESXi 6.7 Seçilmelidir.
  3. Guest Os v6 sürümü kurulacaksa Other v3 Linux 64 bit seçilmelidir.
  4. Guest Os v7 sürümü kurulacaksa Other v4 Linux 64 bit seçilmelidir.
  5. CHR kurulumu için 1GB RAM yeterli olmaktadır. BGP gibi üzerinden çok fazla trafik geçecekse 2GB RAM seçilmelidir.
  6. CHR işlemciye çok fazla yük bindirmektedir, networking ve routing işlemleri için minimum 2 core
    seçilmelidir. Yapılacak işleme göre CPU Core arttırılmalıdır.
  7. Router ve hayati olan her şey datastore olarak makinenin kendi üzerindeki diskler kullanılmalıdır.
    Bu nedenle datastore olarak local disk seçilmelidir.
  8. Eğer makinelere direk olarak public ip adresi verilecek ise satın alınan subnet üzerinde network IP adresi kesinlikle kullanılmamalıdır, Network ip adresi subnetin ilk ip adresidir. Örneğin /24 olursa 192.168.88.0/24 anlamına gelir ve 88.0 network içerisinde kullanılmamalıdır. Mikrotik bu noktada kişiye yardım edecektir.
  9. Yönetim zorluğu olabileceğini düşünerek IPv6 aktivasyonu yapılmamıştır. İhtiyaç duyulursa IPv6 aktivasyonu yapılabilir.

ESXi 6.7 üzerinde CHR Kurulumu

ESXi üzerinde CHR kurulumu için öncelikle ESXi üzerinde CHR kurulumu için gerekli olan ISO dosyasının
indirilmesi gerekmektedir. Bu ISO dosyası mikrotik.com adresinden indirilebilir, ESXi üzerinde kullanılacak olan VMDK dosyası indirilmelidir.

“Create / Register VM” butonuna tıklanarak yeni bir sanal makine oluşturulur. Aşağıdaki adımlar takip edilerek CHR kurulumu yapılır.

VMware yeni sanal makine oluşturma ekranı.
  • Compatibility: ESXi 6.7 Virtual Machine
  • Guest OS Family: Linux
  • Guest OS Version: Other 4.x or later Linux (64-bit)

Olarak seçilmeli ve “Next” butonuna tıklanmalı kurulum adımına devam edilmelidir. Aşağıda görebileceğiniz gibi VM’in kurulacağı datastore seçilmelidir. Bu noktada datastore olarak local disk seçilmelidir. Hayati öneme sahip bir makine olduğu için datastore ISCI disk olarak seçilmemelidir.

VMware sanal makine depolama seçim ekranı.

“Local disk” seçildikten sonra CHR için gerekli olan sistem gereksinimleri belirlenmelidir. Bu noktada CHR için gerekli olan minimum sistem gereksinimleri yapılacak olan işlemlere göre değişiklik gösterebilir. MikroTik çok CPU tüketen bir uygulama olması sebebiyle(belirli durumlar için geçerlidir) yüksek CPU tanımlaması yapılması kafidir. Aşağıda görebileceğiniz gibi 4 CPU ve 512MB RAM tanımlaması yapılmıştır.

VMware sanal makine yapılandırma ekranı.
  • CPU: 4
  • Memory: 512MB
  • Hard Disk: 128MB
  • Network: 2 Adet Network Kartı (1. Network Kartı: WAN(Bridged Network), 2. Network Kartı: LAN(Routed Network))

CPU ve RAM tanımlaması yapıldıktan sonra CHR için gerekli olan ISO dosyası seçilmelidir. Bu noktada ISO dosyası datastore üzerinde bulunmalıdır ve ESXi ana bilgisayarınıza ssh ile bağlanın ve bu görüntüyü yüklediğiniz dizine gidin.

Ardından görüntüyü ESX ile kullanım için daha uygun bir görüntüye dönüştürün. Genellikle “/vmfs/volumes/(volume id)/” içerisinde işlemler yapılır.

vmkfstools -i RouterVM.vmdk Mikrotik-CHR.vmdk -d thin
ShellScript

Bu komut ile mevcut dizinde bulunan “RouterVM.vmdk” dosyası “Mikrotik-CHR.vmdk” dosyasına dönüştürülmüş olacak ve disk türü olarak thin seçilmiş olacaktır.

Disk ön tanımlı olarak 128MB olarak gelmektedir, bu disk boyutu CHR için yeterli olmayabilir. Bu durumda disk boyutunu arttırmak isterseniz yeni imaj üzerinde aşağıdaki işlemleri yapabilirsiniz.

vmkfstools -X 2G Mikrotik-CHR.vmdk
ShellScript

Dipnot: 2G yerine istediğiniz boyutu yazabilirsiniz. Ayrıca yapacağınız bu işlem için CHR’yi kapatmanız gerekmektedir ve CHR açıldıktan sonra disk boyutu arttırılmış olacaktır detaylı loglama için disk boyutunuzu arttırmanızı öneririz.

Tüm bu işlemler tamamlandıktan sonra CHR kurulumu kısmen tamamlanmış olacaktır. Yukarıda thin diske dönüştürdüğümüz CHR imajını datastore üzerinde bulunan CHR için oluşturduğumuz VM için “Edit” diyerek seçmeliyiz.

MikroTik CHR sanal makine yönetim ekranı.

Tabii bu işlemi makine kapalıyken yapabilirsiniz. Bu işlemler tamamlandıktan sonra CHR kurulumu tamamlanmış olacaktır. Disk görünümü aşağıdaki gibi olacaktır.

Sanal makine disk ayarları ekran görüntüsü.

Kurulum tamamlanmıştır, CHR’yi açtıktan ve kısa bir süre geçtikten sonra çalışabilir hale gelecektir. Bu süreç ilk açılışta 30sn kadar sürebilir bir seferlik olmak üzere bu durum yaşanır.

Dipnot: ekleme yaptığınızda ilk başta MikroTik CHR çalışmayabilir bunun ana sebeplerinden bir tanesi CHR’nin disk kontrolcüsünün SCSI olmasıdır. Bu nedenle CHR’yi açmadan hemen önce disk kontrolcüsünü IDE olarak değiştirmeniz şiddetle tavsiye edilir.

MikroTik Yönetim Arayüzüne Giriş

MikroTik yönetim arayüzüne giriş yapmak için öncelikle MikroTik cihazına bağlanmanız gerekmektedir. Bu bağlantı için cihaza tanımlı olan IP adresi kullanılabilir. Eğer cihaza tanımlı bir IP adresi yok ise ve cihaz uzak sunucuda ise CLI arayüzü üzerinden bağlanılabilir. Bu bağlantı için ESXi üzerindeki konsol kullanılabilir.

Sağlayıcı tarafından bize tahsis edilen IP adresi üzerinden routerımız erişilebilir durumdadır. Bu IP adresi üzerinden MikroTik cihazına bağlanmak için aşağıdaki adımlar takip edilmelidir.

MikroTik RouterOS giriş ekranı.
  1. Tarayıcı üzerinden http:// şeması seçilmelidir. HTTPS desteklenmemektedir.
  2. ilk açılışta MikroTik cihazı ön tanımlı kullanıcı ile gelir. Kullanıcı adı: admin şifre: (boş) şeklindedir.
  3. MikroTik cihazı ilk açılışta ön tanımlı olarak Quick Set ekranı ile karşılaşacaktır. Bu ekranda cihazın IP
    adresi, gateway, DNS gibi bilgileri tanımlanabilir. Bu ekranda “Finish” butonuna tıklanarak cihazın yönetim arayüzüne giriş yapılabilir.
  4. Ayrıca ön tanımlı kullanıcıyı ve parolayı değiştirebilmeniz içinde sistem sizi gerekli olan ekrana yönlendirecektir. Lütfen bu ekranda kullanıcı adı ve parolanızı değiştirin.
  5. MikroTik cihazına bağlanmak için kullanılan IP adresi “Quick Set” ekranında tanımlanmıştır. Bu IP adresi üzerinden MikroTik cihazına bağlanabilirsiniz.

Süreç tamamlandıktan sonra tüm özellikleri kullanabilmeniz için CHR’yi lisanslamanız gerekmektedir, Nasıl yapılacağını bilmiyorsanız. MikroTik CHR Nasıl Lisanslanır? makalesine göz atabilirsiniz.

ESXi Routed VM Network Nasıl Oluşturulur?

ESXi kurulumunu ESXi Kurulumu Nasıl Yapılır? makalesi ile yaptınız ve servislerinizi dışarı açacaksanız ki özellikle subnet satın almışsanız makinede 1 Adet Router VM ihtiyacınız olacaktır. Bu VM alınan subnet’in internete çıkabilmesi amacıyla kullanılır ve zorunludur, aksi durumda tek tek ip adresi satın alınmalı ve servis sağlayıcısının DHCP sunucusundan ip adresi alınmalıdır.

Bu Router VM bir MikroTik olabilir, router görevi gören bir Linux işletim sistemi olabilir ve/veya VyOS, OpenWRT, PfSense gibi çözümler olabilir. Bu örnekte ben MikroTik kullanıyorum.

Ücretlendirmesi sebebiyle, tekil ip satın alınmasını önermiyorum. Ancak yönlendirme amacıyla satın alınan 1 adet tekil ip üzerine “Separate MAC” isteği yapılması ve bu ip adresinin router VM’de kullanılması gereklidir. Genellikle sağlayıcı fark etmeksizin aynı işlem yapılmaktadır.

VM oluştururken verilen bu “00:50:56:00:4D:A9” mac adresi Router VM ethernet ayarlarında aşağıdaki gibi girilmelidir. Çünkü sağlayıcılar genellikle bu MAC adresleri üzerinden sizin istek yaptığınızı ve kim olduğunuzu belirler. Yani “Bridged Network” aslında sizin Uplinkinizdir.

Ağ Bağdaştırıcısı Ayarları Ekran Görüntüsü
  • Adapter Type VMXNET 3
  • MAC → Manual → Separate MAC number

“Bridged Network” Topolojisi, internete erişecek ana makine vSwitch aşağıdaki gibi gözükmelidir.

Sanal ağ köprüsü yapılandırması ve topolojisi.

“Routed Network” Topolojisi vSwitch üzerinde aşağıdaki gibi gözükmelidir.

Sanal ağ yapısı ve ayarları gösteriliyor.

Her iki Network’te aynı VLAN ID’de olmalıdır. Ben bu örneği yaparken VLAN yapılandırmadığım için 0 olarak bıraktım. Trafiği izole etmek için VLAN kullanabilirsiniz.