Pada OS versi 3 keatas mikrotik menambahkan fitur Layer7 Protocol yang dapat dipergunakan sebagai alternatif untuk pengisian content. Layer7 -protokol adalah metode untuk mencari pola dalam ICMP / TCP / UDP stream. Atau istilah lainnya regex pattern.
Cara kerja L7 adalah mencocokan (mathcer) 10 paket koneksi pertama atau 2KB koneksi pertama dan mencari pola/pattern data yang sesuai dengan yang tersedia. Jika pola ini tidak ditemukan dalam data yang tersedia, matcher tidak memeriksa lebih lanjut. Dan akan dianggap unknown connections. Anda harus mempertimbangkan bahwa banyak koneksi secara signifikan akan meningkatkan penggunaan memori pada RB maupun PC Router anda. Untuk menghindari itu tambahkan regular firewall matchers (pattern) untuk mengurangi jumlah data yang dikirimkan ke layer-7 filter.
Layer7 matcher harus melihat kedua arah lalu lintas (masuk dan keluar). Untuk memenuhi persyaratan ini rule l7 harus diatur dalam chain Forward. Jika rule pada chain input / prerouting maka aturan yang sama harus diatur juga dalam chain output / postrouting , jika tidak maka data mungkin dianggap tidak lengkap sehingga pola/pattern dianggap tidak benar /cocok.
Contoh penggunaan:
Dalam hal ini kita mencari pattern untuk bittorent
/ip firewall layer7-protocol
add comment="" name=bittorrent regexp="^(\\x13bittorrent protocol|azver\\x01\$\
|get /scrape\\\?info_hash=get /announce\\\?info_hash=|get /client/bitcomet\
/|GET /data\\\?fid=)|d1:ad2:id20:|\\x08'7P\\)[RP]"
Tambahkan pada firewall filter protocol yang biasa dipergunakan, ini untuk mengurangi penggunaan memori
/ip firewall filter
add action=accept chain=forward comment="" disabled=no port=80 protocol=tcp
add action=accept chain=forward comment="" disabled=no port=443 protocol=tcp
Tambahkan matchernya :
add action=accept chain=forward comment="" disabled=no layer7-protocol=\
bittorrent protocol=tcp
Seperti yang dapat anda lihat sebelum rule l7 ditambahkan beberapa rule reguler sehingga mengurangi penggunaan memori. Opsi Layer7 dapat dipergunakan untuk memblok website tertentu atau mebypass aliran paket dari sebuah interface (proxy hit). Scipt untuk layer7 dapat di unduh di sini dan lakukan command import di terminal, seperti mengimport file nice.