/ip firewall nat
add action=src-nat chain=srcnat src-address=10.1.86.50 to-addresses=xxx.xxx.xxx.xxx
add action=dst-nat chain=dstnat dst-address=xxx.xxx.xxx.xxx to-addresses=10.1.86.50
add action=masquerade chain=srcnat
I have had him even hook xbox and bypass his router and sometimes it works and sometimes it doesn't.
Any Suggestions would be appreciated.
Basic Solution:
Does the masquerade action have a match criteria that limits it to packets going out the WAN interface?
If not, then it seems that new connections from the Internet to the user's public IP would get masqueraded to appear as if they are from the Mikrotik's internal IP address. Most users don't see this because reply packets on existing sockets don't go through the chains, state tracking maps them back automatically.
Remember that packets will go through both the source and destination NAT chains.
MacGuyver solution:
If making the masquerade rule more strict doesn't fix things, then you could always try to forward it directly to them in stead:
- Change the dstnat/srcnat rules:
-- src-address=xxx.xxx.xxx.xxx action = accept (pass the public IP through w/o NAT)
-- dst-address=xxx.xxx.xxx.xxx action = accept (ditto)
- Static route xxx.xxx.xxx.xxx/32 next-hop = LanInterfaceName
WAN interface, set arp=proxy-arp
LAN interface, set arp=proxy-arp
After doing all of that, the user can actually put their static IP address directly on their equipment, and you won't be doing any NAT for them. They should set their netmask / default GW to be the same as the Mikrotik uses.
If you want to keep other users from stealing their public IP, you can add a static ARP entry with the correct users' MAC address.