Thiết lập VPN WireGuard trên Mikrotik để truy cập mạng LAN gia đình
Mình có một em NAS đặt ở nhà, để SSH vào NAS khi đi làm việc ở công ty thì phải mở port `22`....
1. Khởi nguồn sự rắc rối
Mình có một em NAS đặt ở nhà, để SSH vào NAS khi đi làm việc ở công ty thì phải mở port 22
. Hmmm, điều này là không nên vì mình có thể bị Brute-Force.
Sẵn tiện mình sử dụng Mikrotik hAP ac²
ở version 7 có tích hợp sẵn WireGuard giúp mình thiết lập một kết nối VPN để truy cập NAS khi mình ở công ty một cách an toàn hơn.
2. Yêu cầu
Server
- Mikrotik OS version 7
- IP Tĩnh / DDNS
Client:
Các vấn đề liên quan đến cấu hình PPPoE / DHCP của Mikrotik không nằm trong bài viết này.
3. Thiết lập WireGuard trên Mikrotik và Client
Bước 1: Tạo Interface WireGuard trên Mikrotik
Mở winbox và login vào Mikrotik.
Tại tab WireGuard –> Create new Interface và điền 2 thông số
- Name:
wireguard1
- Listen Port:
13231
Các bạn có thể đổi Name/Port nếu muốn
Hình 1: Tạo WireGuard interface
Bước 2: Tạo IP Address cho WireGuard
Sau khi tạo xong interface, mình tiến hành tạo 1 Address List riêng cho interface đó để tiện quản lý.
Vào tab IP –> Address –> Add new Adress và điền các thông số.
1
2
3
Address: 25.25.25.1/24
Network: 25.25.25.0
Interface: wireguard1
Hình 2: Tạo IP Address List cho WireGuard
Bước 3: Lấy Public Key trên Client
WireGuard trên PC –> Add Tunnel –> Add empty tunnel.
Sau đó đặt tên cho tunnel và copy Public Key.
Hình 3: Lấy Public Key trên PC Client
Bước 4: Tạo Peer để truy cập vào WireGuard Server trên Client
Lấy được Public Key rồi ta quay trở lại WinBox
.
WireGuard –> Peer –> Add new Peer và dán Public Key đã copy ở trên vào. Gán luôn IP cho kết nối này
Bước 5: Cấu hình WireGuard trên Client
Sau khi tạo Peer xong, quay lại tab WireGuard interface và copy Public Key của Interface.
Tiếp đó quay lại PC, copy sample config bên dưới và hiệu chỉnh lại cho phù hợp với cấu hình của mình.
1
2
3
4
5
6
7
8
9
10
[Interface]
PrivateKey = kPnywjIUK8xysYCZWYPg7OZXfJLO/1qjUBR6qs8sVkk=
Address = 25.25.25.2/32 # Allowed Address đã cấu hình ở Bước 4
DNS = 8.8.8.8
[Peer]
PublicKey = P4KPCop/66Qtw+EShxVyoefuUYC0zxfNx7h4y+AanBo= #Public Key mình nói copy ở vừa nãy
AllowedIPs = 0.0.0.0/0 # Để chấp nhận tất cả IP kết nối ()
Endpoint = hiepchau.net:13231
PersistentKeepalive = 10
Hình 5: WireGuard Client config
Bước 6: NAT Port 13231 trên Winbox
Trở lại Winbox –> IP –> Firewall –> Filter Rules –> Add new Rule
1
2
3
4
5
Chain: input
Protocol: udp
Dst. Port: 13231
In. Interface: all ppp
Action: accept
Hình 6: NAT Port cho WireGuard
Note: Tạo xong nhớ kéo lên trên đầu danh sách nha
Bước 7: NAT masquerade để truy cập mạng LAN nội bộ
Ở bước 6, chuyển qua Tab IP –> Firewall –> NAT –> Create new NAT Rule
1
2
3
Chain: srcnat
Src. Address: 25.25.25.1/24 # IP Address List ở Bước 2
Action: masquerade
Hình 7: NAT masquerade để truy cập LAN
4. Kết quả
Vậy là xong rồi đó !
Chúc bạn thiết lập Wireguard VPN để kết nối về mạng LAN nội bộ thành công !