MikroTik Metro Internet VLAN ve QinQ Kurulum Rehberi
Metro Ethernet hattı aldığınızda operatör size PPPoE yerine doğrudan bir VLAN etiketi ve IP bloğu verir. Türkiye'de TürkNet, Turkcell Superonline gibi operatörler kurumsal ve metro hatlarda bu modeli kullanır; hat size "tagged" gelir, yani fiziksel portunuzdan çıkan her paket operatörün belirlediği VLAN ID ile işaretlenmiştir. MikroTik tarafında bu VLAN'ı doğru şekilde terminate edip arkasına kendi LAN'ınızı koymanız gerekir. Bu yazıda tek VLAN'lı basit senaryodan başlayıp QinQ (802.1ad) gerektiren metro senaryolarına kadar gideceğiz.
Metro hattın elinize gelmesi
Operatör metro interneti genelde üç şekilde teslim eder. En yaygını statik IP + tek VLAN etiketidir; operatörün switch'inden size gelen port trunk modundadır, örneğin VLAN 100 üzerinden 85.95.XXX.XXX/30 gibi bir transit blok alırsınız. İkincisi QinQ'dur; operatör size bir outer (service) VLAN verir, sizin içerideki VLAN'larınızı bunun içine paketlersiniz. Üçüncüsü nadir ama hâlâ var: untagged (access) port, bu durumda VLAN yapılandırması gerekmez, doğrudan IP atarsınız.
VLAN ID'yi operatörden yazılı alın. "VLAN 100" demek yetmez; "S-VLAN 100, C-VLAN 10" mu, yoksa düz 802.1Q 100 mü? Bu ayrım yapılandırmayı değiştirir. Ayrıca MTU'yu sorun. Metro hatlarda operatör tarafında jumbo frame açık olabilir, sizin taraf 1500'de kalırsa büyük paketler düşer.
Tek VLAN'lı metro hat
En basit senaryo: operatör ether1'e bağlı, VLAN 100 üzerinden statik IP vermiş. Önce VLAN arayüzünü oluşturun, IP'yi ve default route'u ekleyin:
/interface vlan add name=vlan100-wan vlan-id=100 interface=ether1
/ip address add address=85.95.XXX.2/30 interface=vlan100-wan
/ip route add dst-address=0.0.0.0/0 gateway=85.95.XXX.1VLAN arayüzünün MTU'su varsayılan 1500'dür. Operatör 1500 byte üzeri frame geçiriyorsa ve sizin switch çipiniz L2MTU'yu destekliyorsa VLAN arayüzünde mtu=1500 bırakıp ether1'in l2mtu'sunu yükseltin. Eski switch çiplerinde (RTL8367 gibi) L2MTU 1520'dir; 1500 + 4 byte VLAN header = 1504 sığar ama QinQ'da 1508 gerekir, bu durumda 1496'ya düşmek zorunda kalırsınız. Yeni cihazlarda (88E6393X, MT7621, MT7531) L2MTU 1594 veya üzeridir, sorun yok.
NAT ve firewall tarafında PPPoE'den tek fark out-interface'in vlan100-wan olması. Masquerade kuralını buna göre yazın:
/ip firewall nat add chain=srcnat out-interface=vlan100-wan action=masqueradeInterface list'e de ekleyin ki firewall kuralları WAN olarak tanısın:
/interface list member add list=WAN interface=vlan100-wanQinQ: İç içe VLAN
Metro Ethernet'in asıl gücü QinQ'da ortaya çıkar. Operatör size S-VLAN (Service VLAN) verir, siz kendi içerideki VLAN'larınızı (C-VLAN, Customer VLAN) bunun içine koyarsınız. Örneğin operatör S-VLAN 500 vermiş, siz veri için C-VLAN 100, ses için C-VLAN 200 kullanıyorsunuz.
RouterOS'ta bunu yapmanın iki yolu var. Birincisi basit yığma: VLAN arayüzünü başka bir VLAN arayüzünün üzerine oluşturursunuz. İkincisi IEEE 802.1ad uyumlu service tag kullanmaktır. Fark önemli çünkü ether-type değişir.
Basit yığma (802.1Q içinde 802.1Q):
/interface vlan add name=vlan500-svlan vlan-id=500 interface=ether1
/interface vlan add name=vlan100-data vlan-id=100 interface=vlan500-svlan
/interface vlan add name=vlan200-voice vlan-id=200 interface=vlan500-svlanBu yapıda ether1'den çıkan frame'de önce VLAN 500 tag'i, onun içinde VLAN 100 veya 200 tag'i bulunur. Outer tag'in ether-type'ı 0x8100 (802.1Q) olur. Eğer operatörünüz 802.1ad bekliyorsa (ether-type 0x88A8), bu yapı çalışmaz.
802.1ad service tag kullanmak için use-service-tag=yes ekleyin:
/interface vlan add name=vlan500-svlan vlan-id=500 interface=ether1 use-service-tag=yes
/interface vlan add name=vlan100-data vlan-id=100 interface=vlan500-svlan
/interface vlan add name=vlan200-voice vlan-id=200 interface=vlan500-svlanuse-service-tag=yes olduğunda outer tag'in ether-type'ı 0x88A8 olur. C-VLAN'lar (içteki) normal 802.1Q kalır. Operatör tarafında "QinQ aware" bir port varsa bu doğru yoldur. Forumlarda sık karıştırılan nokta: use-service-tag sadece outer tag'e uygulanır, inner tag'ler hep 802.1Q'dur.
MTU burada kritik. Her VLAN tag'i 4 byte. QinQ'da 1500 byte payload için 1500 + 4 (C-tag) + 4 (S-tag) = 1508 byte L2 frame gerekir. ether1'in L2MTU'su buna yetmeli. Yetmiyorsa VLAN arayüzlerinde mtu=1492 veya daha düşük kullanın, yoksa büyük paketler sessizce düşer. Operatör tarafında jumbo açıksa (9000) sorun kalmaz ama bu nadirdir.
Metro hatta LAN tarafını kurmak
Metro hattın arkasına LAN koyarken bridge VLAN filtering kullanmak modern ve önerilen yoldur. Ama dikkat: WAN VLAN'ını bridge'e sokmayın. Metro hat size router olarak gelir, switch olarak değil. ether1 (veya vlan100-wan) doğrudan L3 interface olarak kalır, bridge sadece LAN portlarını toplar.
Örnek: ether2-ether5 LAN, vlan10 ofis, vlan20 misafir, vlan30 kamera. Bridge üzerinde VLAN filtering açık:
/interface bridge add name=bridge-lan vlan-filtering=yes
/interface bridge port add bridge=bridge-lan interface=ether2 pvid=10
/interface bridge port add bridge=bridge-lan interface=ether3 pvid=20
/interface bridge port add bridge=bridge-lan interface=ether4 pvid=30
/interface bridge vlan add bridge=bridge-lan tagged=bridge-lan vlan-ids=10
/interface bridge vlan add bridge=bridge-lan tagged=bridge-lan vlan-ids=20
/interface bridge vlan add bridge=bridge-lan tagged=bridge-lan vlan-ids=30Her VLAN için router IP'si:
/interface vlan add name=vlan10 vlan-id=10 interface=bridge-lan
/interface vlan add name=vlan20 vlan-id=20 interface=bridge-lan
/interface vlan add name=vlan30 vlan-id=30 interface=bridge-lan
/ip address add address=192.168.10.1/24 interface=vlan10
/ip address add address=192.168.20.1/24 interface=vlan20
/ip address add address=192.168.30.1/24 interface=vlan30DHCP server'ları VLAN arayüzlerine bağlayın, bridge'e değil. Bu sık yapılan hata; DHCP broadcast'i yanlış domain'e giderse client IP alamaz.
/ip pool add name=pool-vlan10 ranges=192.168.10.100-192.168.10.200
/ip pool add name=pool-vlan20 ranges=192.168.20.100-192.168.20.200
/ip pool add name=pool-vlan30 ranges=192.168.30.100-192.168.30.200
/ip dhcp-server add name=dhcp-vlan10 interface=vlan10 address-pool=pool-vlan10
/ip dhcp-server add name=dhcp-vlan20 interface=vlan20 address-pool=pool-vlan20
/ip dhcp-server add name=dhcp-vlan30 interface=vlan30 address-pool=pool-vlan30
/ip dhcp-server network add address=192.168.10.0/24 gateway=192.168.10.1 dns-server=8.8.8.8
/ip dhcp-server network add address=192.168.20.0/24 gateway=192.168.20.1 dns-server=8.8.8.8
/ip dhcp-server network add address=192.168.30.0/24 gateway=192.168.30.1 dns-server=8.8.8.8Inter-VLAN izolasyonu
Metro hattın arkasındaki VLAN'lar birbirinden izole olmalı. Misafir ağı ofise, kamera ağı internete çıkmamalı gibi. Forward zincirinde kural yazın:
/ip firewall filter add chain=forward src-address=192.168.20.0/24 dst-address=192.168.10.0/24 action=drop comment="Misafir ofise erisemez"
/ip firewall filter add chain=forward src-address=192.168.30.0/24 out-interface=vlan100-wan action=drop comment="Kamera internete cikamaz"Metro hatlarda operatör tarafında genelde firewall yoktur, sizin router'ınız tek savunma hattıdır. Input zincirini kapatmayı unutmayın:
/ip firewall filter add chain=input connection-state=established,related action=accept
/ip firewall filter add chain=input connection-state=invalid action=drop
/ip firewall filter add chain=input protocol=icmp action=accept
/ip firewall filter add chain=input in-interface-list=LAN action=accept
/ip firewall filter add chain=input action=drop comment="WAN input drop"Policy based routing
Metro hattın bir özelliği de operatörün birden fazla servisi tek hat üzerinden vermesidir. Örneğin VLAN 100 internet, VLAN 200 ses, VLAN 300 veri merkezi bağlantısı. Her biri farklı transit blok ve farklı gateway kullanır. Bu durumda policy routing gerekir.
Önce routing table'ları oluşturun:
/routing table add name=internet fib
/routing table add name=voice fibKaynak adrese göre kural yazın:
/routing rule add src-address=192.168.10.0/24 action=lookup-only-in-table table=internet
/routing rule add src-address=192.168.20.0/24 action=lookup-only-in-table table=voiceHer tabloya kendi default route'unu koyun:
/ip route add dst-address=0.0.0.0/0 gateway=85.95.XXX.1@main routing-table=internet
/ip route add dst-address=0.0.0.0/0 gateway=10.10.20.1@main routing-table=voice@main suffix'i gateway'in main routing table'dan çözümlenmesini sağlar. RouterOS 7'de bu zorunludur, yoksa route unreachable kalır.
Sorun giderme
VLAN arayüzü up ama trafik yoksa ilk bakılacak yer /interface vlan print çıktısında R (running) bayrağı. Yoksa operatör tarafında VLAN tag'i yanlış veya port trunk değil.
QinQ'da çift tag'in doğru gittiğini doğrulamak için packet sniffer kullanın:
/tool sniffer quick interface=ether1 vlan-id=500MTU şüphesi varsa ping ile test edin:
/ping 8.8.8.8 size=1500 do-not-fragmentBu komut fragmentation'a izin vermez; 1500 geçemezse MTU'yu düşürün. QinQ'da 1492 genelde güvenli sınırdır.
Son olarak: metro hatlarda operatörün verdiği VLAN ID'yi değiştirmeyin. Bazı operatörler 802.1ad (S-tag) beklerken siz 802.1Q gönderirseniz frame'ler drop olur, hiçbir yerde hata mesajı göremezsiniz. Ether-type uyuşmazlığı sessiz ölümdür.
Kurulum bittiğinde yedek alın: /export file=metro-config. Bridge VLAN filtering ve QinQ yapılandırmaları karmaşıktır, sıfırdan yazmak zaman alır.