- Ensure Mikrotik (Hex S in my case) is updated for Wireguard support
- In Wireguard menu on Winbox (or web manager):
- Add a new Wireguard instance
- Name the interface
- Change the port number
- Click ‘+’ next to private key
- Add a new Wireguard instance
- Go to IP -> Addresses and add new address
- Comment appropriately
- Set address as something not commonly used. 192.168.100.1/24, perhaps
- Set network address (192.168.100.0, for this case)
- Set the interface as the Wireguard instance created above
- Go to IP -> Firewall
- In Filter Rules:
- New rule.
- Chain = input.
- Protocol = 17(udp).
- Dst. Port = {your chosen port}.
- Action = accept.
- Comment as “Accept WG input” or something.
- New rule.
- Chain = forward.
- In Interface = {WG interface set up above}.
- Action = accept.
- Comment as “For WG access” or something.
- New rule.
- In NAT:
- New rule.
- Chain = srcnat.
- Src Address = {WG network address (192.168.100.0/24)}.
- Out Interface = {Your WAN interface}.
- Action = masquerade
- Comment as “Masquerade WG” or something
- New rule.
- In Filter Rules:
- On Fedora client (Should work similarly for any Linux distro, to be fair)
- sudo dnf install wireguard-tools
- wg genkey | tee privatekey | wg pubkey > publickey
- sudo su. You will need to be root in terminal to access the WG folder
- cd /etc/wireguard
- nano wg0.conf (or name it whatever you want your connection named)
"[Interface]
“
PrivateKey = {paste private key}
ListenPort = {your chosen port}
Address = {IP within chosen network ie/ 192.168.100.2}
[Peer]
PublicKey = {paste from Winbox}
Endpoint = {Your public IP}:{your WG port}
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20- Ctrl + x then ‘y’ to save
- nmcli con import type wireguard file /etc/wireguard/{your config file}
- firewall-cmd –add-port={your WG port}/udp
- Configure peer in Winbox
- In Wireguard menu, select Peers tab and add new
- Give it a name, and a comment if you like
- Choose your WG interface
- Copy/paste public key from Fedora
- Allowed Address = {Fedora WG IP/32 (192.168.100.2/32)}
- Try the connection!
Hopefully this is helpful if you stumble across it. I’m hoping to do more of these tutorials as I try to do more stuff myself and stumble across the internet for answers. Did this work for you? Let me know if anything doesn’t or if something confuses you above!
Leave a Reply