Dasar Routing Statis di Mikrotik RouterOS

Routing adalah proses menemukan jalur terbaik untuk mentransmisikan paket melalui jaringan TCP/IP. Perangkat apa pun yang terhubung ke jaringan IPv4 berisi tabel proses dan perutean.

Artikel ini bukan HOWTO, ini menjelaskan perutean statis di RouterOS dengan contoh, saya sengaja menghilangkan pengaturan lainnya (misalnya, srcnat untuk mengakses Internet), jadi pemahaman materi memerlukan tingkat pengetahuan tertentu tentang jaringan dan RouterOS.

Beralih dan merutekan

Dasar Routing Statis di Mikrotik RouterOS

Switching adalah proses pertukaran paket dalam satu segmen Layer2 (Ethernet, ppp, ...). Jika perangkat melihat bahwa penerima paket berada di subnet Ethernet yang sama dengannya, ia mempelajari alamat mac menggunakan protokol arp dan mengirimkan paket secara langsung, melewati router. Koneksi ppp (point-to-point) hanya dapat memiliki dua peserta dan paket selalu dikirim ke satu alamat 0xff.

Routing adalah proses mentransfer paket antara segmen Layer2. Jika perangkat ingin mengirim paket yang penerimanya berada di luar segmen Ethernet, ia melihat ke tabel perutean dan meneruskan paket ke gateway, yang mengetahui ke mana harus mengirim paket selanjutnya (atau mungkin tidak tahu, pengirim asli paket tidak menyadari hal ini).

Cara termudah untuk memikirkan router adalah sebagai perangkat yang terhubung ke dua atau lebih segmen Layer2 dan mampu melewatkan paket di antara mereka dengan menentukan rute terbaik dari tabel routing.

Jika Anda memahami segalanya, atau Anda sudah mengetahuinya, baca terus. Selebihnya, saya sangat menganjurkan agar Anda membiasakan diri dengan yang kecil, tetapi sangat luas artikel.

Perutean di RouterOS dan PacketFlow

Hampir semua fungsi yang terkait dengan perutean statis ada di dalam paket sistem. Kantong plastik rute menambahkan dukungan untuk algoritma perutean dinamis (RIP, OSPF, BGP, MME), Filter Perutean, dan BFD.

Menu utama untuk mengatur perutean: [IP]->[Route]. Skema kompleks mungkin memerlukan paket untuk diberi label sebelumnya dengan tanda perutean di: [IP]->[Firewall]->[Mangle] (rantai PREROUTING ΠΈ OUTPUT).

Ada tiga tempat di PacketFlow di mana keputusan perutean paket IP dibuat:
Dasar Routing Statis di Mikrotik RouterOS

  1. Paket routing yang diterima oleh router. Pada tahap ini diputuskan apakah paket akan menuju ke proses lokal atau akan dikirim lebih jauh ke jaringan. Paket transit diterima Output Antarmuka
  2. Routing paket keluar lokal. Paket keluar menerima Output Antarmuka
  3. Langkah perutean tambahan untuk paket keluar, memungkinkan Anda untuk mengubah keputusan perutean [Output|Mangle]

  • Jalur paket di blok 1, 2 tergantung pada aturan di [IP]->[Route]
  • Jalur paket di poin 1, 2 dan 3 tergantung pada aturan di [IP]->[Route]->[Rules]
  • Jalur paket di blok 1, 3 dapat dipengaruhi menggunakan [IP]->[Firewall]->[Mangle]

RIB, FIB, Cache Perutean

Dasar Routing Statis di Mikrotik RouterOS

Basis Informasi Routing
Basis tempat rute dikumpulkan dari protokol perutean dinamis, rute dari ppp dan dhcp, rute statis dan terhubung. Basis data ini berisi semua rute, kecuali yang difilter oleh administrator.

dengan syarat, kita dapat mengasumsikan bahwa [IP]->[Route] menampilkan RIB.

Meneruskan Informasi Basis
Dasar Routing Statis di Mikrotik RouterOS

Pangkalan tempat rute terbaik dari RIB dikumpulkan. Semua rute di FIB aktif dan digunakan untuk meneruskan paket. Jika rute menjadi tidak aktif (dinonaktifkan oleh administrator (sistem), atau antarmuka tempat pengiriman paket tidak aktif), rute akan dihapus dari FIB.

Untuk membuat keputusan perutean, tabel FIB menggunakan informasi berikut tentang paket IP:

  • Alamat sumber
  • Alamat tujuan
  • Antarmuka Sumber
  • Tanda rute
  • Persyaratan Layanan (DSCP)

Masuk ke paket FIB melewati tahapan berikut:

  • Apakah paket ditujukan untuk proses router lokal?
  • Apakah paket tunduk pada aturan sistem atau pengguna PBR?
    • Jika ya, maka paket dikirim ke tabel routing yang ditentukan
  • Paket dikirim ke meja utama

dengan syarat, kita dapat mengasumsikan bahwa [IP]->[Route Active=yes] menampilkan FIB.

Cache Perutean
Mekanisme caching rute. Perute mengingat ke mana paket dikirim dan jika ada yang serupa (mungkin dari koneksi yang sama) itu memungkinkan mereka melewati rute yang sama, tanpa memeriksa di FIB. Cache rute dibersihkan secara berkala.

Untuk administrator RouterOS, mereka tidak membuat alat untuk melihat dan mengelola Routing Cache, tetapi ketika itu dapat dinonaktifkan di [IP]->[Settings].

Mekanisme ini telah dihapus dari kernel linux 3.6, tetapi RouterOS masih menggunakan kernel 3.3.5, mungkin Routing cahce adalah salah satu alasannya.

Tambahkan dialog rute

[IP]->[Route]->[+]
Dasar Routing Statis di Mikrotik RouterOS

  1. Subnet yang ingin Anda buat rutenya (default: 0.0.0.0/0)
  2. Gateway IP atau antarmuka tempat paket akan dikirim (mungkin ada beberapa, lihat ECMP di bawah)
  3. Pemeriksaan Ketersediaan Gateway
  4. Jenis rekaman
  5. Jarak (metrik) untuk rute
  6. Tabel perutean
  7. IP untuk paket keluar lokal melalui rute ini
  8. Tujuan Ruang Lingkup dan Sasaran Lingkup ditulis di bagian akhir artikel.

Bendera rute
Dasar Routing Statis di Mikrotik RouterOS

  • X - Rute dinonaktifkan oleh administrator (disabled=yes)
  • A - Rute digunakan untuk mengirim paket
  • D - Rute ditambahkan secara dinamis (BGP, OSPF, RIP, MME, PPP, DHCP, Terhubung)
  • C - Subnet terhubung langsung ke router
  • S - Rute Statis
  • r,b,o,m - Rute ditambahkan oleh salah satu protokol perutean dinamis
  • B,U,P - Rute penyaringan (menjatuhkan paket alih-alih mengirim)

Apa yang harus ditentukan di gateway: alamat ip atau antarmuka?

Sistem memungkinkan Anda untuk menentukan keduanya, sementara itu tidak bersumpah dan tidak memberikan petunjuk jika Anda melakukan kesalahan.

Alamat IP
Alamat gateway harus dapat diakses melalui Layer2. Untuk Ethernet, ini berarti router harus memiliki alamat dari subnet yang sama di salah satu antarmuka ip aktif, untuk ppp, alamat gateway ditentukan di salah satu antarmuka aktif sebagai alamat subnet.
Jika syarat aksesibilitas untuk Layer2 tidak terpenuhi, rute dianggap tidak aktif dan tidak termasuk dalam FIB.

Antarmuka.
Semuanya lebih rumit dan perilaku router bergantung pada jenis antarmuka:

  • Koneksi PPP (Async, PPTP, L2TP, SSTP, PPPoE, OpenVPN *) mengasumsikan hanya dua peserta dan paket akan selalu dikirim ke gateway untuk transmisi, jika gateway mendeteksi bahwa penerima itu sendiri, maka itu akan mentransfer paket ke proses lokalnya.
    Dasar Routing Statis di Mikrotik RouterOS
  • Ethernet mengasumsikan kehadiran banyak peserta dan akan mengirimkan permintaan ke antarmuka arp dengan alamat penerima paket, ini diharapkan dan perilaku yang cukup normal untuk rute yang terhubung.
    Tetapi ketika Anda mencoba menggunakan antarmuka sebagai rute untuk subnet jarak jauh, Anda akan mendapatkan situasi berikut: rute aktif, ping ke gateway lewat, tetapi tidak mencapai penerima dari subnet yang ditentukan. Jika Anda melihat antarmuka melalui sniffer, Anda akan melihat permintaan arp dengan alamat dari subnet jarak jauh.
    Dasar Routing Statis di Mikrotik RouterOS

Dasar Routing Statis di Mikrotik RouterOS

Cobalah untuk menentukan alamat ip sebagai gateway jika memungkinkan. Pengecualian adalah rute yang terhubung (dibuat secara otomatis) dan antarmuka PPP (Async, PPTP, L2TP, SSTP, PPPoE, OpenVPN*).

OpenVPN tidak berisi header PPP, tetapi Anda dapat menggunakan nama antarmuka OpenVPN untuk membuat rute.

Rute Lebih Spesifik

Aturan perutean dasar. Rute yang menggambarkan subnet yang lebih kecil (dengan subnet mask terbesar) diutamakan dalam keputusan perutean paket. Posisi entri dalam tabel perutean tidak relevan dengan pilihan - aturan utamanya adalah Lebih Spesifik.

Dasar Routing Statis di Mikrotik RouterOS

Semua rute dari skema yang ditentukan aktif (terletak di FIB). menunjuk ke subnet yang berbeda dan tidak bertentangan satu sama lain.

Jika salah satu gateway tidak tersedia, rute terkait akan dianggap tidak aktif (dihapus dari FIB) dan paket akan dicari dari rute yang tersisa.

Rute dengan subnet 0.0.0.0/0 terkadang diberi arti khusus dan disebut "Rute Default" atau "Gateway of last resort". Faktanya, tidak ada yang ajaib tentang itu dan itu hanya mencakup semua kemungkinan alamat IPv4, tetapi nama-nama ini menjelaskan tugasnya dengan baik - ini menunjukkan gateway tempat meneruskan paket yang tidak ada rute lain yang lebih akurat.

Subnet mask maksimum yang mungkin untuk IPv4 adalah /32, rute ini mengarah ke host tertentu dan dapat digunakan di tabel perutean.

Memahami Rute yang Lebih Spesifik merupakan hal mendasar untuk perangkat TCP/IP apa pun.

Jarak

Jarak (atau Metrik) diperlukan untuk pemfilteran administratif rute ke satu subnet yang dapat diakses melalui banyak gateway. Rute dengan metrik yang lebih rendah dianggap sebagai prioritas dan akan dimasukkan ke dalam FIB. Jika rute dengan metrik yang lebih rendah berhenti aktif, maka akan digantikan oleh rute dengan metrik yang lebih tinggi di FIB.
Dasar Routing Statis di Mikrotik RouterOS

Jika ada beberapa rute ke subnet yang sama dengan metrik yang sama, router hanya akan menambahkan salah satunya ke tabel FIB, dipandu oleh logika internalnya.

Metrik dapat mengambil nilai dari 0 hingga 255:
Dasar Routing Statis di Mikrotik RouterOS

  • 0 - Metrik untuk rute yang terhubung. Jarak 0 tidak dapat diatur oleh administrator
  • 1-254 - Metrik tersedia bagi administrator untuk mengatur rute. Metrik dengan nilai lebih rendah memiliki prioritas lebih tinggi
  • 255 - Metrik tersedia bagi administrator untuk mengatur rute. Tidak seperti 1-254, rute dengan metrik 255 selalu tidak aktif dan tidak termasuk dalam FIB
  • metrik tertentu. Rute yang diturunkan dari protokol routing dinamis memiliki nilai metrik standar

periksa gerbang

Check gateway adalah ekstensi MikroTik RoutesOS untuk memeriksa ketersediaan gateway melalui icmp atau arp. Setiap 10 detik sekali (tidak dapat diubah), permintaan dikirim ke gateway, jika respons tidak diterima dua kali, rute dianggap tidak tersedia dan dihapus dari FIB. Jika gerbang pemeriksaan telah dinonaktifkan, rute pemeriksaan dilanjutkan dan rute akan menjadi aktif kembali setelah satu pemeriksaan berhasil.
Dasar Routing Statis di Mikrotik RouterOS

Periksa gateway menonaktifkan entri yang dikonfigurasi dan semua entri lainnya (di semua tabel perutean dan rute ecmp) dengan gateway yang ditentukan.

Secara umum, periksa gateway berfungsi dengan baik selama tidak ada masalah dengan kehilangan paket ke gateway. Periksa gateway tidak mengetahui apa yang terjadi dengan komunikasi di luar gateway yang diperiksa, ini memerlukan alat tambahan: skrip, perutean rekursif, protokol perutean dinamis.

Sebagian besar protokol VPN dan terowongan berisi alat bawaan untuk memeriksa aktivitas koneksi, mengaktifkan gerbang periksa untuk mereka merupakan beban tambahan (tetapi sangat kecil) pada kinerja jaringan dan perangkat.

rute ECMP

Equal-Cost Multi-Path - mengirim paket ke penerima menggunakan beberapa gateway secara bersamaan menggunakan algoritma Round Robin.

Rute ECMP dibuat oleh administrator dengan menentukan beberapa gateway untuk satu subnet (atau secara otomatis, jika ada dua rute OSPF yang setara).
Dasar Routing Statis di Mikrotik RouterOS

ECMP digunakan untuk load balancing antara dua saluran, secara teori, jika ada dua saluran di rute ecmp, maka untuk setiap paket saluran keluar harus berbeda. Tetapi mekanisme cache Routing mengirimkan paket dari koneksi di sepanjang rute yang diambil paket pertama, sebagai hasilnya, kami mendapatkan semacam penyeimbangan berdasarkan koneksi (loading balancing per koneksi).

Jika Anda menonaktifkan Routing Cache, maka paket di rute ECMP akan dibagikan dengan benar, tetapi ada masalah dengan NAT. Aturan NAT hanya memproses paket pertama dari koneksi (sisanya diproses secara otomatis), dan ternyata paket dengan alamat sumber yang sama meninggalkan antarmuka yang berbeda.
Dasar Routing Statis di Mikrotik RouterOS

Periksa gateway tidak berfungsi di rute ECMP (bug RouterOS). Namun Anda dapat mengatasi batasan ini dengan membuat rute validasi tambahan yang akan menonaktifkan entri di ECMP.

Penyaringan dengan cara Routing

Opsi Jenis menentukan apa yang harus dilakukan dengan paket:

  • unicast - kirim ke gateway yang ditentukan (antarmuka)
  • lubang hitam - buang paket
  • melarang, tidak dapat dijangkau - buang paket dan kirim pesan icmp ke pengirim

Penyaringan biasanya digunakan ketika diperlukan untuk mengamankan pengiriman paket di sepanjang jalur yang salah, tentu saja, Anda dapat memfilternya melalui firewall.

Beberapa contoh

Untuk mengkonsolidasikan hal-hal dasar tentang routing.

Router rumah biasa
Dasar Routing Statis di Mikrotik RouterOS

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1

  1. Rute statis ke 0.0.0.0/0 (rute default)
  2. Rute yang terhubung pada antarmuka dengan penyedia
  3. Rute yang terhubung pada antarmuka LAN

Router rumah biasa dengan PPPoE
Dasar Routing Statis di Mikrotik RouterOS

  1. Rute statis ke rute default, ditambahkan secara otomatis. itu ditentukan dalam properti koneksi
  2. Rute terhubung untuk koneksi PPP
  3. Rute yang terhubung pada antarmuka LAN

Router rumah tipikal dengan dua penyedia dan redundansi
Dasar Routing Statis di Mikrotik RouterOS

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1 distance=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.20.20.1 distance=2

  1. Rute statis ke rute default melalui penyedia pertama dengan metrik 1 dan pemeriksaan ketersediaan gateway
  2. Rute statis ke rute default melalui penyedia kedua dengan metrik 2
  3. Rute yang terhubung

Lalu lintas ke 0.0.0.0/0 melewati 10.10.10.1 saat gateway ini tersedia, jika tidak maka beralih ke 10.20.20.1

Skema semacam itu dapat dianggap sebagai reservasi saluran, tetapi bukan tanpa kekurangan. Jika terjadi jeda di luar gateway penyedia (misalnya, di dalam jaringan operator), router Anda tidak akan mengetahuinya dan akan terus menganggap rute tersebut aktif.

Router rumah tipikal dengan dua penyedia, redundansi dan ECMP
Dasar Routing Statis di Mikrotik RouterOS

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.20.20.1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.10.10.1,10.20.20.1 distance=1

  1. Rute statis untuk memeriksa gateway chack
  2. rute ECMP
  3. Rute yang terhubung

Rute yang diperiksa berwarna biru (warna rute yang tidak aktif), tetapi ini tidak mengganggu gateway pemeriksaan. Versi saat ini (6.44) dari RoS memberikan prioritas otomatis ke rute ECMP, tetapi lebih baik menambahkan rute uji ke tabel perutean lain (opsi routing-mark)

Di Speedtest dan situs serupa lainnya, tidak akan ada peningkatan kecepatan (ECMP membagi lalu lintas dengan koneksi, bukan dengan paket), tetapi aplikasi p2p harus mengunduh lebih cepat.

Memfilter melalui Perutean
Dasar Routing Statis di Mikrotik RouterOS

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1
add dst-address=192.168.200.0/24 gateway=10.30.30.1 distance=1
add dst-address=192.168.200.0/24 gateway=10.10.10.1 distance=2 type=blackhole

  1. Rute statis ke rute default
  2. Rute statis ke 192.168.200.0/24 melalui terowongan ipip
  3. Melarang rute statis ke 192.168.200.0/24 melalui router ISP

Opsi pemfilteran di mana lalu lintas terowongan tidak akan masuk ke router penyedia saat antarmuka ipip dinonaktifkan. Skema seperti itu jarang dibutuhkan, karena Anda dapat menerapkan pemblokiran melalui firewall.

Putaran perutean
Routing loop - situasi ketika sebuah paket berjalan di antara router sebelum ttl kedaluwarsa. Biasanya ini adalah hasil dari kesalahan konfigurasi, dalam jaringan besar diperlakukan dengan penerapan protokol perutean dinamis, dalam jaringan kecil - dengan hati-hati.

Itu terlihat seperti ini:
Dasar Routing Statis di Mikrotik RouterOS

Contoh (paling sederhana) tentang cara mendapatkan hasil yang serupa:
Dasar Routing Statis di Mikrotik RouterOS

Contoh Routing loop tidak berguna secara praktis, tetapi ini menunjukkan bahwa router tidak tahu tentang tabel routing tetangganya.

Perutean Basis Kebijakan dan Tabel Perutean Tambahan

Saat memilih rute, router hanya menggunakan satu bidang dari header paket (Alamat Dst.) - ini adalah perutean dasar. Perutean berdasarkan kondisi lain, seperti alamat sumber, jenis lalu lintas (ToS), penyeimbangan tanpa ECMP, milik Policy Base Routing (PBR) dan menggunakan tabel perutean tambahan.

Dasar Routing Statis di Mikrotik RouterOS

Rute Lebih Spesifik adalah aturan pemilihan rute utama dalam tabel routing.

Secara default, semua aturan perutean ditambahkan ke tabel utama. Administrator dapat membuat sejumlah tabel perutean tambahan dan merutekan paket ke sana. Aturan dalam tabel yang berbeda tidak bertentangan satu sama lain. Jika paket tidak menemukan aturan yang sesuai di tabel yang ditentukan, paket tersebut akan menuju ke tabel utama.

Contoh dengan distribusi melalui Firewall:
Dasar Routing Statis di Mikrotik RouterOS

  • 192.168.100.10 -> 8.8.8.8
    1. Lalu lintas dari 192.168.100.10 diberi label melalui-isp1 Π² [Prerouting|Mangle]
    2. Pada tahap Routing dalam tabel melalui-isp1 mencari rute ke 8.8.8.8
    3. Rute ditemukan, lalu lintas dikirim ke gateway 10.10.10.1
  • 192.168.200.20 -> 8.8.8.8
    1. Lalu lintas dari 192.168.200.20 diberi label melalui-isp2 Π² [Prerouting|Mangle]
    2. Pada tahap Routing dalam tabel melalui-isp2 mencari rute ke 8.8.8.8
    3. Rute ditemukan, lalu lintas dikirim ke gateway 10.20.20.1
  • Jika salah satu gateway (10.10.10.1 atau 10.20.20.1) menjadi tidak tersedia, maka paket akan masuk ke tabel utama dan akan mencari rute yang cocok di sana

Masalah terminologi

RouterOS memiliki masalah terminologi tertentu.
Saat bekerja dengan aturan di [IP]->[Routes] tabel perutean ditunjukkan, meskipun tertulis bahwa label:
Dasar Routing Statis di Mikrotik RouterOS

Π’ [IP]->[Routes]->[Rule] semuanya benar, dalam kondisi label di tabel tindakan:
Dasar Routing Statis di Mikrotik RouterOS

Cara mengirim paket ke tabel routing tertentu

RouterOS menyediakan beberapa alat:

  • Aturan di [IP]->[Routes]->[Rules]
  • Penanda rute (action=mark-routing) di [IP]->[Firewall]->[Mangle]
  • VRF

peraturan [IP]->[Route]->[Rules]
Aturan diproses secara berurutan, jika paket sesuai dengan kondisi aturan, maka tidak akan diteruskan.

Aturan Perutean memungkinkan Anda untuk memperluas kemungkinan perutean, tidak hanya mengandalkan alamat penerima, tetapi juga pada alamat sumber dan antarmuka tempat paket diterima.

Dasar Routing Statis di Mikrotik RouterOS

Aturan terdiri dari kondisi dan tindakan:

  • Kondisi. Praktis ulangi daftar tanda-tanda pemeriksaan paket di FIB, hanya ToS yang hilang.
  • Aktivitas
    • pencarian - mengirim paket ke meja
    • pencarian hanya di tabel - kunci paket di tabel, jika rute tidak ditemukan, paket tidak akan masuk ke tabel utama
    • drop - drop paket
    • unreachable - buang paket dengan notifikasi pengirim

Di FIB, lalu lintas ke proses lokal diproses melewati aturan [IP]->[Route]->[Rules]:
Dasar Routing Statis di Mikrotik RouterOS

penilaian [IP]->[Firewall]->[Mangle]
Label perutean memungkinkan Anda menyetel gateway untuk paket menggunakan hampir semua kondisi Firewall:
Dasar Routing Statis di Mikrotik RouterOS

Praktis, karena tidak semuanya masuk akal, dan beberapa mungkin bekerja tidak stabil.

Dasar Routing Statis di Mikrotik RouterOS

Ada dua cara untuk memberi label pada sebuah paket:

  • Segera pasang tanda rute
  • Utamakan tanda koneksi, lalu berdasarkan tanda koneksi untuk menempatkan tanda rute

Dalam sebuah artikel tentang firewall, saya menulis bahwa opsi kedua lebih disukai. mengurangi beban pada cpu, dalam hal menandai rute - ini tidak sepenuhnya benar. Metode penandaan ini tidak selalu setara dan biasanya digunakan untuk menyelesaikan berbagai masalah.

Contoh penggunaan

Mari beralih ke contoh penggunaan Perutean Basis Kebijakan, lebih mudah untuk menunjukkan mengapa semua ini diperlukan.

MultiWAN dan kembalikan lalu lintas keluar (Output).
Masalah umum dengan konfigurasi MultiWAN: Mikrotik hanya tersedia dari Internet melalui penyedia "aktif".
Dasar Routing Statis di Mikrotik RouterOS

Router tidak peduli apa ip permintaan datang, ketika menghasilkan respons, ia akan mencari rute di tabel perutean di mana rute melalui ISP1 aktif. Selanjutnya, paket seperti itu kemungkinan besar akan difilter sepanjang jalan ke penerima.

Poin menarik lainnya. Jika nat sumber "sederhana" dikonfigurasi pada antarmuka ether1: /ip fi nat add out-interface=ether1 action=masquerade paket akan online dengan src. address=10.10.10.100, yang memperburuk keadaan.

Ada beberapa cara untuk memperbaiki masalah, tetapi salah satunya akan membutuhkan tabel perutean tambahan:
Dasar Routing Statis di Mikrotik RouterOS

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1 check-gateway=ping distance=1
add dst-address=0.0.0.0/0 gateway=10.20.20.1 check-gateway=ping distance=2
add dst-address=0.0.0.0/0 gateway=10.10.10.1 routing-mark=over-isp1
add dst-address=0.0.0.0/0 gateway=10.20.20.1 routing-mark=over-isp2

Menggunakan [IP]->[Route]->[Rules]
Tentukan tabel perutean yang akan digunakan untuk paket dengan IP Sumber yang ditentukan.
Dasar Routing Statis di Mikrotik RouterOS

/ip route rule
add src-address=10.10.10.100/32 action=lookup-only-in-table table=over-isp1
add src-address=10.20.20.200/32 action=lookup-only-in-table table=over-isp2

Bisa digunakan action=lookup, tetapi untuk lalu lintas keluar lokal, opsi ini sepenuhnya mengecualikan koneksi dari antarmuka yang salah.

  • Sistem menghasilkan paket respons dengan Src. Alamat: 10.20.20.200
  • Pemeriksaan langkah Routing Decision(2). [IP]->[Routes]->[Rules] dan paket dikirim ke tabel routing over-isp2
  • Menurut tabel routing, paket harus dikirim ke gateway 10.20.20.1 melalui interface ether2

Dasar Routing Statis di Mikrotik RouterOS

Metode ini tidak memerlukan Pelacak Koneksi yang berfungsi, tidak seperti menggunakan tabel Mangle.

Menggunakan [IP]->[Firewall]->[Mangle]
Koneksi dimulai dengan paket masuk, jadi kami menandainya (action=mark-connection), untuk paket keluar dari koneksi yang ditandai, setel label perutean (action=mark-routing).
Dasar Routing Statis di Mikrotik RouterOS

/ip firewall mangle
#ΠœΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° входящих соСдинСний
add chain=input in-interface=ether1 connection-state=new action=mark-connection new-connection-mark=from-isp1
add chain=input in-interface=ether2 connection-state=new action=mark-connection new-connection-mark=from-isp2
#ΠœΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° исходящих ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π½Π° основС соСдинСний
add chain=output connection-mark=from-isp1 action=mark-routing new-routing-mark=over-isp1 passthrough=no
add chain=output connection-mark=from-isp2 action=mark-routing new-routing-mark=over-isp2 passthrough=no

Jika beberapa ip dikonfigurasi pada satu antarmuka, Anda dapat menambahkan kondisi tersebut dst-address untuk memastikan.

  • Sebuah paket membuka koneksi pada antarmuka ether2. Paket masuk ke [INPUT|Mangle] yang mengatakan untuk menandai semua paket dari koneksi sebagai dari-isp2
  • Sistem menghasilkan paket respons dengan Src. Alamat: 10.20.20.200
  • Pada tahap Routing Decision(2), paket, sesuai dengan tabel routing, dikirim ke gateway 10.20.20.1 melalui antarmuka ether1. Anda dapat memverifikasi ini dengan memasukkan paket [OUTPUT|Filter]
  • Di panggung [OUTPUT|Mangle] label sambungan diperiksa dari-isp2 dan paket menerima label rute over-isp2
  • Langkah Penyesuaian Perutean(3) memeriksa keberadaan label perutean dan mengirimkannya ke tabel perutean yang sesuai
  • Menurut tabel routing, paket harus dikirim ke gateway 10.20.20.1 melalui interface ether2

Dasar Routing Statis di Mikrotik RouterOS

MultiWAN dan kembalikan lalu lintas dst-nat

Contoh lebih rumit, apa yang harus dilakukan jika ada server (misalnya, web) di belakang router pada subnet pribadi dan Anda perlu memberikan akses ke sana melalui salah satu penyedia.

/ip firewall nat
add chain=dstnat proto=tcp dst-port=80,443 in-interface=ether1 action=dst-nat to-address=192.168.100.100
add chain=dstnat proto=tcp dst-port=80,443 in-interface=ether2 action=dst-nat to-address=192.168.100.100

Inti masalahnya akan sama, solusinya mirip dengan opsi Firewall Mangle, hanya rantai lain yang akan digunakan:
Dasar Routing Statis di Mikrotik RouterOS

/ip firewall mangle
add chain=prerouting connection-state=new in-interface=ether1 protocol=tcp dst-port=80,443 action=mark-connection new-connection-mark=web-input-isp1
add chain=prerouting connection-state=new in-interface=ether2 protocol=tcp dst-port=80,443 action=mark-connection new-connection-mark=web-input-isp2
add chain=prerouting connection-mark=web-input-isp1 in-interface=ether3 action=mark-routing new-routing-mark=over-isp1 passthrough=no
add chain=prerouting connection-mark=web-input-isp2 in-interface=ether3 action=mark-routing new-routing-mark=over-isp2 passthrough=no

Dasar Routing Statis di Mikrotik RouterOS
Diagram tidak menunjukkan NAT, tapi menurut saya semuanya jelas.

MultiWAN dan koneksi keluar

Anda dapat menggunakan kemampuan PBR untuk membuat banyak koneksi vpn (SSTP dalam contoh) dari antarmuka router yang berbeda.

Dasar Routing Statis di Mikrotik RouterOS

Tabel perutean tambahan:

/ip route
add dst-address=0.0.0.0/0 gateway=192.168.100.1 routing-mark=over-isp1
add dst-address=0.0.0.0/0 gateway=192.168.200.1 routing-mark=over-isp2
add dst-address=0.0.0.0/0 gateway=192.168.0.1 routing-mark=over-isp3

add dst-address=0.0.0.0/0 gateway=192.168.100.1 distance=1
add dst-address=0.0.0.0/0 gateway=192.168.200.1 distance=2
add dst-address=0.0.0.0/0 gateway=192.168.0.1 distance=3

Tanda paket:

/ip firewall mangle
add chain=output dst-address=10.10.10.100 proto=tcp dst-port=443 action=mark-routing new-routing-mark=over-isp1 passtrough=no
add chain=output dst-address=10.10.10.101 proto=tcp dst-port=443 action=mark-routing new-routing-mark=over-isp2 passtrough=no
add chain=output dst-address=10.10.10.102 proto=tcp dst-port=443 action=mark-routing new-routing-mark=over-isp3 passtrough=no

Aturan NAT sederhana, jika tidak, paket akan meninggalkan antarmuka dengan Src yang salah. alamat:

/ip firewall nat
add chain=srcnat out-interface=ether1 action=masquerade
add chain=srcnat out-interface=ether2 action=masquerade
add chain=srcnat out-interface=ether3 action=masquerade

Parsing:

  • Router membuat tiga proses SSTP
  • Pada tahap Keputusan Perutean (2), rute dipilih untuk proses ini berdasarkan tabel perutean utama. Dari rute yang sama, paket menerima Src. Alamat terikat ke antarmuka ether1
  • Π’ [Output|Mangle] paket dari koneksi yang berbeda menerima label yang berbeda
  • Paket memasuki tabel yang sesuai dengan label pada tahap Penyesuaian Routing dan menerima rute baru untuk mengirim paket
  • Tetapi paket masih memiliki Src. Alamat dari ether1, di atas panggung [Nat|Srcnat] alamat diganti sesuai dengan antarmuka

Menariknya, di router Anda akan melihat tabel koneksi berikut:
Dasar Routing Statis di Mikrotik RouterOS

Pelacak Koneksi bekerja lebih awal [Mangle] ΠΈ [Srcnat], jadi semua koneksi berasal dari alamat yang sama, jika Anda melihat lebih detail, masuk Replay Dst. Address akan ada alamat setelah NAT:
Dasar Routing Statis di Mikrotik RouterOS

Di server VPN (saya punya satu di bangku tes), Anda dapat melihat bahwa semua koneksi berasal dari alamat yang benar:
Dasar Routing Statis di Mikrotik RouterOS

Tunggu jalan
Ada cara yang lebih mudah, Anda cukup menentukan gateway khusus untuk setiap alamat:

/ip route
add dst-address=10.10.10.100 gateway=192.168.100.1
add dst-address=10.10.10.101 gateway=192.168.200.1
add dst-address=10.10.10.102 gateway=192.168.0.1

Tetapi rute seperti itu tidak hanya akan memengaruhi lalu lintas keluar tetapi juga lalu lintas transit. Plus, jika Anda tidak memerlukan lalu lintas ke server vpn untuk melalui saluran komunikasi yang tidak pantas, maka Anda harus menambahkan 6 aturan lagi untuk [IP]->[Routes]с type=blackhole. Di versi sebelumnya - 3 aturan masuk [IP]->[Route]->[Rules].

Distribusi koneksi pengguna melalui saluran komunikasi

Tugas sehari-hari yang sederhana. Sekali lagi, tabel perutean tambahan akan dibutuhkan:

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1 dist=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.20.20.1 dist=2 check-gateway=ping

add dst-address=0.0.0.0/0 gateway=10.10.10.1 dist=1 routing-mark=over-isp1
add dst-address=0.0.0.0/0 gateway=10.20.20.1 dist=1 routing-mark=over-isp2

Menggunakan [IP]->[Route]->[Rules]
Dasar Routing Statis di Mikrotik RouterOS

/ip route rules
add src-address=192.168.100.0/25 action=lookup-only-in-table table=over-isp1
add src-address=192.168.100.128/25 action=lookup-only-in-table table=over-isp2

Jika digunakan action=lookup, lalu ketika salah satu saluran dinonaktifkan, lalu lintas akan menuju ke tabel utama dan melewati saluran yang berfungsi. Apakah ini perlu atau tidak tergantung pada tugasnya.

Menggunakan tanda di [IP]->[Firewall]->[Mangle]
Contoh sederhana dengan daftar alamat ip. Pada prinsipnya, hampir semua kondisi dapat digunakan. Satu-satunya peringatan dari layer7, bahkan ketika dipasangkan dengan label koneksi, tampaknya semuanya berfungsi dengan benar, tetapi beberapa lalu lintas masih akan salah arah.
Dasar Routing Statis di Mikrotik RouterOS

/ip firewall mangle
add chain=prerouting src-address-list=users-over-isp1 dst-address-type=!local action=mark-routing new-routing-mark=over-isp1
add chain=prerouting src-address-list=users-over-isp2 dst-address-type=!local action=mark-routing new-routing-mark=over-isp2

Anda dapat "mengunci" pengguna dalam satu tabel perutean [IP]->[Route]->[Rules]:

/ip route rules
add routing-mark=over-isp1 action=lookup-only-in-table table=over-isp1
add routing-mark=over-isp2 action=lookup-only-in-table table=over-isp2

Baik melalui [IP]->[Firewall]->[Filter]:

/ip firewall filter
add chain=forward routing-mark=over-isp1 out-interface=!ether1 action=reject
add chain=forward routing-mark=over-isp2 out-interface=!ether2 action=reject

Mundur pro dst-address-type=!local
Kondisi tambahan dst-address-type=!local lalu lintas dari pengguna harus mencapai proses lokal router (dns, winbox, ssh, ...). Jika beberapa subnet lokal terhubung ke router, perlu dipastikan bahwa lalu lintas di antara subnet tersebut tidak masuk ke Internet, misalnya menggunakan dst-address-table.

Pada contoh menggunakan [IP]->[Route]->[Rules] tidak ada pengecualian seperti itu, tetapi lalu lintas mencapai proses lokal. Faktanya adalah masuk ke paket FIB ditandai [PREROUTING|Mangle] memiliki label rute dan masuk ke tabel perutean selain utama, di mana tidak ada antarmuka lokal. Dalam kasus Aturan Perutean, pertama-tama diperiksa apakah paket ditujukan untuk proses lokal dan hanya pada tahap PBR Pengguna apakah paket tersebut masuk ke tabel perutean yang ditentukan.

Menggunakan [IP]->[Firewall]->[Mangle action=route]
Tindakan ini hanya berfungsi di [Prerouting|Mangle] dan memungkinkan Anda mengarahkan lalu lintas ke gateway yang ditentukan tanpa menggunakan tabel perutean tambahan, dengan menentukan alamat gateway secara langsung:

/ip firewall mangle
add chain=prerouting src-address=192.168.100.0/25 action=route gateway=10.10.10.1
add chain=prerouting src-address=192.168.128.0/25 action=route gateway=10.20.20.1

efek route memiliki prioritas lebih rendah daripada aturan perutean ([IP]->[Route]->[Rules]). Dalam hal tanda rute, semuanya tergantung pada posisi aturan, jika aturan dengan action=route bernilai lebih dari action=mark-route, maka itu akan digunakan (terlepas dari flag passtrough), jika tidak menandai rute.
Ada sangat sedikit informasi di wiki tentang tindakan ini dan semua kesimpulan diperoleh secara eksperimental, bagaimanapun, saya tidak menemukan opsi saat menggunakan opsi ini memberikan keuntungan dibandingkan yang lain.

Penyeimbangan dinamis berbasis PPC

Per Connection Classifier - adalah analog ECMP yang lebih fleksibel. Tidak seperti ECMP, itu membagi lalu lintas dengan koneksi lebih ketat (ECMP tidak tahu apa-apa tentang koneksi, tetapi ketika dipasangkan dengan Routing Cache, sesuatu yang serupa diperoleh).

PCC mengambil bidang yang ditentukan dari header ip, mengubahnya menjadi nilai 32-bit, dan membaginya dengan penyebut. Sisa pembagian dibandingkan dengan yang ditentukan sisa dan jika cocok, maka tindakan yang ditentukan akan diterapkan. lebih. Kedengarannya gila, tapi berhasil.
Dasar Routing Statis di Mikrotik RouterOS

Contoh dengan tiga alamat:

192.168.100.10: 192+168+100+10 = 470 % 3 = 2
192.168.100.11: 192+168+100+11 = 471 % 3 = 0
192.168.100.12: 192+168+100+12 = 472 % 3 = 1

Contoh distribusi lalu lintas dinamis menurut src.address antara tiga saluran:
Dasar Routing Statis di Mikrotik RouterOS

#Π’Π°Π±Π»ΠΈΡ†Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ
/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1 dist=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.20.20.1 dist=2 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.30.30.1 dist=3 check-gateway=ping

add dst-address=0.0.0.0/0 gateway=10.10.10.1 dist=1 routing-mark=over-isp1
add dst-address=0.0.0.0/0 gateway=10.20.20.1 dist=1 routing-mark=over-isp2
add dst-address=0.0.0.0/0 gateway=10.30.30.1 dist=1 routing-mark=over-isp3

#ΠœΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° соСдинСний ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ²
/ip firewall mangle
add chain=prerouting in-interface=br-lan dst-address-type=!local connection-state=new per-connection-classifier=src-address:3/0 action=mark-connection new-connection-mark=conn-over-isp1
add chain=prerouting in-interface=br-lan dst-address-type=!local connection-state=new per-connection-classifier=src-address:3/1 action=mark-connection new-connection-mark=conn-over-isp2
add chain=prerouting in-interface=br-lan dst-address-type=!local connection-state=new per-connection-classifier=src-address:3/2 action=mark-connection new-connection-mark=conn-over-isp3

add chain=prerouting in-interface=br-lan connection-mark=conn-over-isp1 action=mark-routing new-routing-mark=over-isp1
add chain=prerouting in-interface=br-lan connection-mark=conn-over-isp2 action=mark-routing new-routing-mark=over-isp2
add chain=prerouting in-interface=br-lan connection-mark=conn-over-isp3 action=mark-routing new-routing-mark=over-isp3

Saat menandai rute, ada ketentuan tambahan: in-interface=br-lan, tanpa itu di bawah action=mark-routing lalu lintas respons dari Internet akan didapat dan, sesuai dengan tabel perutean, akan kembali ke penyedia.

Beralih saluran komunikasi

Periksa ping adalah alat yang bagus, tetapi hanya memeriksa koneksi dengan peer IP terdekat, jaringan penyedia biasanya terdiri dari sejumlah besar router dan putusnya koneksi dapat terjadi di luar peer terdekat, dan kemudian ada operator telekomunikasi backbone yang mungkin juga memiliki masalah, pada umumnya cek ping tidak selalu menampilkan informasi terkini tentang akses ke jaringan global.
Jika penyedia dan perusahaan besar memiliki protokol perutean dinamis BGP, maka pengguna rumahan dan kantor harus memikirkan sendiri cara memeriksa akses Internet melalui saluran komunikasi tertentu.

Biasanya, skrip digunakan yang, melalui saluran komunikasi tertentu, memeriksa ketersediaan alamat ip di Internet, sambil memilih sesuatu yang dapat diandalkan, misalnya google dns: 8.8.8.8. 8.8.4.4. Namun di komunitas Mikrotik, alat yang lebih menarik telah diadaptasi untuk ini.

Beberapa kata tentang perutean rekursif
Perutean rekursif diperlukan saat membangun peering Multihop BGP dan masuk ke artikel tentang dasar-dasar perutean statis hanya karena pengguna MikroTik yang licik yang menemukan cara menggunakan rute rekursif yang dipasangkan dengan gerbang periksa untuk berpindah saluran komunikasi tanpa skrip tambahan.

Saatnya untuk memahami opsi ruang lingkup / target ruang lingkup secara umum dan bagaimana rute terikat ke antarmuka:
Dasar Routing Statis di Mikrotik RouterOS

  1. Rute mencari antarmuka untuk mengirim paket berdasarkan nilai ruang lingkupnya dan semua entri di tabel utama dengan nilai ruang lingkup target kurang dari atau sama
  2. Dari antarmuka yang ditemukan, antarmuka tempat Anda dapat mengirim paket ke gateway yang ditentukan dipilih
  3. Antarmuka entri terhubung yang ditemukan dipilih untuk mengirim paket ke gateway

Di hadapan rute rekursif, hal yang sama terjadi, tetapi dalam dua tahap:
Dasar Routing Statis di Mikrotik RouterOS

  • 1-3 Satu rute lagi ditambahkan ke rute yang terhubung, melalui mana gateway yang ditentukan dapat dicapai
  • 4-6 Menemukan rute yang menghubungkan rute untuk gateway "perantara".

Semua manipulasi dengan pencarian rekursif terjadi di RIB, dan hanya hasil akhir yang ditransfer ke FIB: 0.0.0.0/0 via 10.10.10.1 on ether1.

Contoh penggunaan perutean rekursif untuk beralih rute
Dasar Routing Statis di Mikrotik RouterOS

Konfigurasi:
Dasar Routing Statis di Mikrotik RouterOS

/ip route
add dst-address=0.0.0.0/0 gateway=8.8.8.8 check-gateway=ping distance=1 target-scope=10
add dst-address=8.8.8.8 gateway=10.10.10.1 scope=10
add dst-address=0.0.0.0/0 gateway=10.20.20.1 distance=2

Anda dapat memeriksa apakah paket akan dikirim ke 10.10.10.1:
Dasar Routing Statis di Mikrotik RouterOS

Periksa gateway tidak tahu apa-apa tentang perutean rekursif dan cukup kirim ping ke 8.8.8.8, yang (berdasarkan tabel utama) dapat diakses melalui gateway 10.10.10.1.

Jika ada kehilangan komunikasi antara 10.10.10.1 dan 8.8.8.8, maka rute terputus, tetapi paket (termasuk ping uji) ke 8.8.8.8 terus melewati 10.10.10.1:
Dasar Routing Statis di Mikrotik RouterOS

Jika tautan ke ether1 hilang, maka situasi yang tidak menyenangkan terjadi ketika paket sebelum 8.8.8.8 melewati penyedia kedua:
Dasar Routing Statis di Mikrotik RouterOS

Ini adalah masalah jika Anda menggunakan NetWatch untuk menjalankan skrip saat 8.8.8.8 tidak tersedia. Jika tautan rusak, NetWatch hanya akan bekerja melalui saluran komunikasi cadangan dan menganggap semuanya baik-baik saja. Diselesaikan dengan menambahkan rute filter tambahan:

/ip route
add dst-address=8.8.8.8 gateway=10.20.20.1 distance=100 type=blackhole

Dasar Routing Statis di Mikrotik RouterOS

Ada di habr artikel, di mana situasi dengan NetWatch dipertimbangkan lebih detail.

Dan ya, saat menggunakan reservasi seperti itu, alamat 8.8.8.8 akan terhubung ke salah satu penyedia, jadi memilihnya sebagai sumber dns bukanlah ide yang bagus.

Beberapa kata tentang Perutean dan Penerusan Virtual (VRF)

Teknologi VRF dirancang untuk membuat beberapa router virtual dalam satu fisik, teknologi ini banyak digunakan oleh operator telekomunikasi (biasanya dalam hubungannya dengan MPLS) untuk menyediakan layanan L3VPN kepada klien dengan alamat subnet yang tumpang tindih:
Dasar Routing Statis di Mikrotik RouterOS

Tetapi VRF di Mikrotik diatur berdasarkan tabel perutean dan memiliki sejumlah kelemahan, misalnya alamat ip lokal router tersedia dari semua VRF, Anda dapat membaca lebih lanjut ΠΏΠΎ ссылкС.

contoh konfigurasi vrf:
Dasar Routing Statis di Mikrotik RouterOS

/ip route vrf
add interfaces=ether1 routing-mark=vrf1
add interfaces=ether2 routing-mark=vrf2

/ip address
add address=192.168.100.1/24 interface=ether1 network=192.168.100.0
add address=192.168.200.1/24 interface=ether2 network=192.168.200.0

Dari perangkat yang terhubung ke ether2, kami melihat bahwa ping pergi ke alamat router dari vrf lain (dan ini adalah masalah), sedangkan ping tidak pergi ke Internet:
Dasar Routing Statis di Mikrotik RouterOS

Untuk mengakses Internet, Anda perlu mendaftarkan rute tambahan yang mengakses tabel utama (dalam terminologi vrf, ini disebut kebocoran rute):
Dasar Routing Statis di Mikrotik RouterOS

/ip route
add distance=1 gateway=172.17.0.1@main routing-mark=vrf1
add distance=1 gateway=172.17.0.1%wlan1 routing-mark=vrf2

Berikut adalah dua cara membocorkan rute: menggunakan tabel perutean: 172.17.0.1@main dan menggunakan nama antarmuka: 172.17.0.1%wlan1.

Dan atur penandaan untuk lalu lintas masuk kembali [PREROUTING|Mangle]:
Dasar Routing Statis di Mikrotik RouterOS

/ip firewall mangle
add chain=prerouting in-interface=ether1 action=mark-connection new-connection-mark=from-vrf1 passthrough=no
add chain=prerouting connection-mark=from-vrf1 routing-mark=!vrf1 action=mark-routing new-routing-mark=vrf1 passthrough=no 
add chain=prerouting in-interface=ether2 action=mark-connection new-connection-mark=from-vrf2 passthrough=no
add chain=prerouting connection-mark=from-vrf2 routing-mark=!vrf1 action=mark-routing new-routing-mark=vrf2 passthrough=no 

Dasar Routing Statis di Mikrotik RouterOS

Subnet dengan alamat yang sama
Organisasi akses ke subnet dengan pengalamatan yang sama di router yang sama menggunakan VRF dan netmap:
Dasar Routing Statis di Mikrotik RouterOS

Konfigurasi dasar:

/ip route vrf
add interfaces=ether1 routing-mark=vrf1
add interfaces=ether2 routing-mark=vrf2

/ip address
add address=192.168.100.1/24 interface=ether1 network=192.168.100.0
add address=192.168.100.1/24 interface=ether2 network=192.168.100.0
add address=192.168.0.1/24 interface=ether3 network=192.168.0.0

aturan firewall:

#ΠœΠ°Ρ€ΠΊΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ
/ip firewall mangle
add chain=prerouting dst-address=192.168.101.0/24 in-interface=ether3 action=mark-routing new-routing-mark=vrf1 passthrough=no
add chain=prerouting dst-address=192.168.102.0/24 in-interface=ether3 action=mark-routing new-routing-mark=vrf2 passthrough=no

#БрСдствами netmap замСняСм адрСса "эфимСрных" подсСтСй Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ подсСти
/ip firewall nat
add chain=dstnat dst-address=192.168.101.0/24 in-interface=ether3 action=netmap to-addresses=192.168.100.0/24
add chain=dstnat dst-address=192.168.102.0/24 in-interface=ether3 action=netmap to-addresses=192.168.100.0/24

Aturan perutean untuk lalu lintas kembali:

#Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ интСрфСйса Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ route leaking, Π½ΠΎ ΠΏΠΎ сути Ρ‚ΡƒΡ‚ создаСтся Π°Π½Π°Π»ΠΎΠ³ connected ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°
/ip route
add distance=1 dst-address=192.168.0.0/24 gateway=ether3 routing-mark=vrf1
add distance=1 dst-address=192.168.0.0/24 gateway=ether3 routing-mark=vrf2

Menambahkan rute yang diterima melalui dhcp ke tabel perutean yang diberikan
VRF bisa menarik jika Anda perlu menambahkan rute dinamis secara otomatis (misalnya, dari klien dhcp) ke tabel perutean tertentu.

Menambahkan antarmuka ke vrf:

/ip route vrf
add interface=ether1 routing-mark=over-isp1

Aturan untuk mengirimkan lalu lintas (keluar dan transit) melalui tabel over-isp1:

/ip firewall mangle
add chain=output out-interface=!br-lan action=mark-routing new-routing-mark=over-isp1 passthrough=no
add chain=prerouting in-interface=br-lan dst-address-type=!local action=mark-routing new-routing-mark=over-isp1 passthrough=no

Tambahan, rute palsu agar perutean keluar berfungsi:

/interface bridge
add name=bare

/ip route
add dst-address=0.0.0.0/0 gateway=bare

Rute ini hanya diperlukan agar paket keluar lokal dapat melewati keputusan Routing (2) sebelumnya [OUTPUT|Mangle] dan dapatkan label perutean, jika ada rute aktif lainnya di router sebelum 0.0.0.0/0 di tabel utama, itu tidak diperlukan.
Dasar Routing Statis di Mikrotik RouterOS

Percakapan connected-in ΠΈ dynamic-in Π² [Routing] -> [Filters]

Pemfilteran rute (masuk dan keluar) adalah alat yang biasanya digunakan bersama dengan protokol perutean dinamis (dan oleh karena itu hanya tersedia setelah menginstal paket rute), tetapi ada dua rantai menarik di filter yang masuk:

  • connected-in β€” memfilter rute yang terhubung
  • dynamic-in - menyaring rute dinamis yang diterima oleh PPP dan DCHP

Pemfilteran memungkinkan Anda tidak hanya membuang rute, tetapi juga mengubah sejumlah opsi: jarak, tanda perutean, komentar, cakupan, cakupan target, ...

Ini adalah alat yang sangat tepat dan jika Anda dapat melakukan sesuatu tanpa Filter Perutean (tetapi bukan skrip), maka jangan gunakan Filter Perutean, jangan membingungkan diri Anda sendiri dan mereka yang akan mengonfigurasi perute setelah Anda. Dalam konteks perutean dinamis, Filter Perutean akan digunakan lebih sering dan lebih produktif.

Menetapkan Tanda Perutean untuk Rute Dinamis
Contoh dari router rumah. Saya memiliki dua koneksi VPN yang dikonfigurasi dan lalu lintas di dalamnya harus dibungkus sesuai dengan tabel perutean. Pada saat yang sama, saya ingin rute dibuat secara otomatis saat antarmuka diaktifkan:

#ΠŸΡ€ΠΈ создании vpn ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ созданиС default route ΠΈ Π·Π°Π΄Π°Π΅ΠΌ Π΄ΠΈΡΡ‚Π°Π½Ρ†ΠΈΡŽ
/interface pptp-client
add connect-to=X.X.X.X add-default-route=yes default-route-distance=101 ...
add connect-to=Y.Y.Y.Y  add-default-route=yes default-route-distance=100 ...

#Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ отправляСм ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° основС подсСти назначСния ΠΈ дистанции
/routing filter
add chain=dynamic-in distance=100 prefix=0.0.0.0/0 action=passthrough set-routing-mark=over-vpn1
add chain=dynamic-in distance=101 prefix=0.0.0.0/0 action=passthrough set-routing-mark=over-vpn2

Saya tidak tahu mengapa, mungkin bug, tetapi jika Anda membuat vrf untuk antarmuka ppp, rute ke 0.0.0.0/0 akan tetap masuk ke tabel utama. Kalau tidak, semuanya akan menjadi lebih mudah.

Menonaktifkan Rute Terhubung
Terkadang ini diperlukan:

/route filter
add chain=connected-in prefix=192.168.100.0/24 action=reject

Alat Debug

RouterOS menyediakan sejumlah alat untuk debugging perutean:

  • [Tool]->[Tourch] - memungkinkan Anda untuk melihat paket pada antarmuka
  • /ip route check - memungkinkan Anda untuk melihat ke gateway mana paket akan dikirim, tidak berfungsi dengan tabel perutean
  • /ping routing-table=<name> ΠΈ /tool traceroute routing-table=<name> - ping dan lacak menggunakan tabel perutean yang ditentukan
  • action=log Π² [IP]->[Firewall] - alat luar biasa yang memungkinkan Anda melacak jalur paket di sepanjang aliran paket, tindakan ini tersedia di semua rantai dan tabel

Sumber: www.habr.com

Tambah komentar