C3 — Cấu hình Router & Firewall (MikroTik)
Mục tiêu
Phần tiêu đề “Mục tiêu”- Cấu hình MikroTik từ đầu cho một công trình mới dựa trên script mẫu của công ty.
- Hiểu từng đoạn config: WAN, Bridge, VLAN, DHCP, NAT, Firewall.
- Biết cách tuỳ biến cho từng dự án (thay tên miền DDNS, thay thông tin PPPoE).
1. Tổng quan script cấu hình
Phần tiêu đề “1. Tổng quan script cấu hình”Script chia thành 2 phần — copy-paste lần lượt vào Terminal MikroTik (Winbox hoặc WebFig):
- Phần 1: Tạo kết nối WAN + Bridge — chạy trước, đợi MikroTik kết nối Internet.
- Phần 2: DHCP, NAT, Firewall, DDNS — chạy sau khi đã có Internet.
Lý do chia 2 phần: PPPoE cần kết nối thành công trước thì DDNS và các service khác mới hoạt động.
2. Phần 1 — WAN + Bridge + VLAN
Phần tiêu đề “2. Phần 1 — WAN + Bridge + VLAN”/interface bridgeadd add-dhcp-option82=yes dhcp-snooping=yes igmp-snooping=yes name=BridgeLAN
/interface pppoe-clientadd add-default-route=yes default-route-distance=1 disabled=no interface=ether1 max-mtu=1500 password=[PASSWORD_NHA_MANG] user=[USERNAME_NHA_MANG]
/interface vlanadd interface=BridgeLAN name=Home vlan-id=123
/interface bridge portadd bridge=BridgeLAN interface=ether2add bridge=BridgeLAN interface=ether3add bridge=BridgeLAN interface=ether4add bridge=BridgeLAN interface=ether5Giải thích
Phần tiêu đề “Giải thích”| Dòng | Ý nghĩa |
|---|---|
add name=BridgeLAN | Tạo bridge gom ether2-5 thành 1 mạng LAN |
dhcp-snooping=yes | Chống DHCP giả mạo — bảo mật cơ bản |
igmp-snooping=yes | Tối ưu multicast (camera RTSP, IPTV) |
pppoe-client | Kết nối WAN qua PPPoE (VNPT, Viettel, FPT) |
interface=ether1 | Port 1 dành riêng cho WAN |
vlan-id=123 | Tạo VLAN interface cho Guest trên bridge |
Thay đổi cho từng dự án
Phần tiêu đề “Thay đổi cho từng dự án”- username / password PPPoE: lấy từ nhà mạng (hợp đồng hoặc gọi tổng đài).
- Nếu nhà mạng cấp IP tĩnh (không PPPoE): thay bằng
/ip address add address=x.x.x.x/24 interface=ether1+ default route. - Nếu dùng modem bridge: giữ nguyên PPPoE. Nếu modem NAT: đổi sang DHCP Client trên ether1.
3. Phần 2 — DHCP, IP, DNS
Phần tiêu đề “3. Phần 2 — DHCP, IP, DNS”Chạy sau khi PPPoE đã kết nối thành công (kiểm tra: Interfaces → pppoe-out1 → status = connected).
/ip addressadd address=192.168.1.1/24 interface=BridgeLAN network=192.168.1.0add address=172.16.20.1/24 interface=Home network=172.16.20.0
/ip pooladd name=Day_IP_LAN ranges=192.168.1.70-192.168.1.254add name=Day_IP_Home ranges=172.16.20.20-172.16.20.254
/ip dhcp-serveradd address-pool=Day_IP_LAN disabled=no interface=BridgeLAN lease-time=3h name=DHCP_LANadd address-pool=Day_IP_Home disabled=no interface=Home name=DHCP_Home
/ip dhcp-server networkadd address=192.168.1.0/24 dns-server=8.8.8.8,1.1.1.1 gateway=192.168.1.1add address=172.16.20.0/24 dns-server=1.1.1.1,8.8.8.8 gateway=172.16.20.1
/ip dnsset servers=8.8.8.8,1.1.1.1Chi tiết
Phần tiêu đề “Chi tiết”- DHCP nội bộ: 192.168.1.70 – .254 (dải .2 – .69 dành IP tĩnh cho camera, NVR, AP).
- DHCP Guest: 172.16.20.20 – .254.
- DNS: Google (8.8.8.8) + Cloudflare (1.1.1.1) — nhanh và ổn định tại Việt Nam.
- Lease time 3 giờ cho nội bộ — đủ ngắn để IP xoay vòng.
4. NAT & HairpinNAT
Phần tiêu đề “4. NAT & HairpinNAT”/ip firewall address-listadd address=192.168.1.2-192.168.1.69 list=KHONGCANBANGTAIadd address=[DOMAIN].thachanhitt.vn list=WANadd address=192.168.1.0/24 list=LAN
/ip firewall mangleadd action=accept chain=prerouting comment="BO QUA CAN BANG TAI" src-address-list=KHONGCANBANGTAIadd action=accept chain=prerouting dst-address-list=LAN src-address-list=LANadd action=mark-connection chain=prerouting comment=HairpinNAT dst-address-list=WAN new-connection-mark=HairpinNAT passthrough=yes src-address-list=LAN
/ip firewall natadd action=masquerade chain=srcnat connection-mark=HairpinNATadd action=masquerade chain=srcnat out-interface=pppoe-out1HairpinNAT là gì?
Phần tiêu đề “HairpinNAT là gì?”Khi bạn truy cập NVR bằng domain DDNS (ví dụ: khanhcanduoc.thachanhitt.vn) từ bên ngoài — hoạt động bình thường. Nhưng từ bên trong mạng nội bộ, domain này resolve về IP WAN, mà MikroTik mặc định không xử lý NAT cho traffic nội bộ → nội bộ → lỗi kết nối.
HairpinNAT giải quyết bằng cách: khi traffic từ LAN đi đến domain WAN, MikroTik sẽ masquerade (NAT) traffic đó để nó quay lại đúng thiết bị nội bộ.
Thay đổi cho từng dự án
Phần tiêu đề “Thay đổi cho từng dự án”- Thay
[DOMAIN].thachanhitt.vnbằng domain DDNS thật của công trình. - Address-list
KHONGCANBANGTAIgom các IP tĩnh — thiết bị này bỏ qua cân bằng tải (nếu có multi-WAN).
5. Port Forwarding (dst-nat)
Phần tiêu đề “5. Port Forwarding (dst-nat)”Cho phép truy cập NVR từ bên ngoài Internet:
/ip firewall natadd action=dst-nat chain=dstnat comment="Camera - Web" dst-address-type=local dst-port=81 in-interface-list=all protocol=tcp to-addresses=192.168.1.30 to-ports=81add action=dst-nat chain=dstnat comment="Camera - SDK" dst-address-type=local dst-port=8100 in-interface-list=all protocol=tcp to-addresses=192.168.1.30 to-ports=8100add action=dst-nat chain=dstnat comment="Camera - App" dst-address-type=local dst-port=8000 in-interface-list=all protocol=tcp to-addresses=192.168.1.30 to-ports=8100add action=dst-nat chain=dstnat comment="Camera - RTSP" dst-address-type=local dst-port=8554 in-interface-list=all protocol=tcp to-addresses=192.168.1.30 to-ports=554Bảng port
Phần tiêu đề “Bảng port”| Port bên ngoài | Port bên trong | Dịch vụ | Ghi chú |
|---|---|---|---|
| 81 | 81 | Web NVR | Truy cập giao diện web NVR |
| 8100 | 8100 | SDK/App | Hik-Connect, iVMS-4200 |
| 8000 | 8100 | App (legacy) | Một số app cũ dùng port 8000 |
| 8554 | 554 | RTSP | Luồng video trực tiếp |
Công ty không dùng port mặc định (80/8000/554) để hạn chế scan tự động từ bot.
Thay đổi cho từng dự án
Phần tiêu đề “Thay đổi cho từng dự án”- NVR luôn ở IP 192.168.1.30 — giữ cố định.
- Nếu công trình có thêm thiết bị cần truy cập từ xa: thêm rule dst-nat tương tự.
6. Firewall Filter
Phần tiêu đề “6. Firewall Filter”/ip firewall filteradd chain=forward action=fasttrack-connection connection-state=established,relatedadd chain=forward action=accept connection-state=established,relatedadd chain=forward action=drop connection-state=invalidGiải thích
Phần tiêu đề “Giải thích”| Rule | Ý nghĩa |
|---|---|
| FastTrack established/related | Tăng tốc traffic đã thiết lập — giảm CPU MikroTik |
| Accept established/related | Cho phép traffic thuộc kết nối đã có |
| Drop invalid | Chặn packet lỗi/không hợp lệ |
Cách ly Guest
Phần tiêu đề “Cách ly Guest”Thêm rule chặn Guest truy cập nội bộ:
/ip firewall filteradd chain=forward action=drop src-address=172.16.20.0/24 dst-address=192.168.1.0/24 comment="Guest khong vao noi bo"Rule này đặt SAU 3 rule trên. Thứ tự rule trong MikroTik rất quan trọng — packet match rule đầu tiên sẽ được xử lý ngay.
Traffic Guest → Internet không bị chặn vì destination không phải 192.168.1.0/24 → không match rule drop → được forward bình thường qua masquerade.
7. DDNS
Phần tiêu đề “7. DDNS”Công ty dùng dịch vụ DDNS riêng tại ddns.thachanhitt.vn (DynDNS type). Ngoài ra, MikroTik Cloud cũng hỗ trợ DDNS miễn phí:
/ip cloudset ddns-enabled=yes ddns-update-interval=5mDDNS MikroTik Cloud tạo domain dạng xxxxxx.sn.mynetname.net — dùng làm backup nếu DDNS công ty gặp sự cố.
DDNS trên NVR Hikvision
Phần tiêu đề “DDNS trên NVR Hikvision”Cấu hình DDNS trực tiếp trên NVR (chi tiết ở module B5):
- Loại: DynDNS
- Server: ddns.thachanhitt.vn
- Domain: [tencongTrinh].thachanhitt.vn
- Username/Password: theo tài khoản công ty
8. Hardening (Tắt service không cần)
Phần tiêu đề “8. Hardening (Tắt service không cần)”/ip serviceset telnet disabled=yesset ftp disabled=yesset www disabled=yesset ssh disabled=yesset api disabled=yesset api-ssl disabled=yes
/system clockset time-zone-name=Asia/BangkokTắt tất cả service quản lý qua IP trừ Winbox (port 8291) — giảm bề mặt tấn công. Nếu cần truy cập web: bật lại www tạm thời rồi tắt sau khi xong.
Time zone: Asia/Bangkok (UTC+7) — cùng múi giờ Việt Nam.
9. Checklist sau cấu hình
Phần tiêu đề “9. Checklist sau cấu hình”- PPPoE kết nối thành công (Interface → pppoe-out1 → connected).
- PC nội bộ nhận IP 192.168.1.x, ra Internet OK.
- Guest nhận IP 172.16.20.x, ra Internet OK.
- Guest ping 192.168.1.1 → timeout (bị chặn).
- Truy cập NVR bằng domain DDNS từ 4G: [domain]:81 → hiện web NVR.
- HairpinNAT: truy cập domain DDNS từ nội bộ → vẫn vào được NVR.
- Tất cả service đã tắt trừ Winbox.
- Time zone = Asia/Bangkok.