xPython,
When your friend connect to your international ip, your router sense that its a local ip, and send the reply out via the local interface. When your friend receives the packet, the packet comes from a different ip, and thus drops it.
Run the following script on your router, which will mark the packets coming in on the international interface and make sure it gets sent out through the same interface. Just replace "adslINTL" with your adsl international interface name.
Code:
/ip firewall mangle
add action=mark-connection chain=input comment="Mark adslINTL packets" disabled=no in-interface=adslINTL new-connection-mark=adslINTL passthrough=yes
add action=mark-connection chain=forward comment="Mark adslINTL packets" disabled=no in-interface=adslINTL new-connection-mark=adslINTL passthrough=yes
add action=mark-connection chain=prerouting comment="Mark adslINTL packets" disabled=no in-interface=adslINTL new-connection-mark=adslINTL passthrough=yes
add action=mark-routing chain=prerouting comment="if adslINTL mark coming from ether1, mark routing" connection-mark=adslINTL disabled=no in-interface=ether1 new-routing-mark=adslINTL passthrough=yes
add action=mark-routing chain=output comment="if adslINTL mark, mark routing" connection-mark=adslINTL disabled=no new-routing-mark=adslINTL passthrough=yes
/ip route
add comment="Route adslINTL packets via adslINTL" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=adslINTL routing-mark=adslINTL scope=30 target-scope=10
This script assumes you are using ether1 as your internal interface where your computer connects.
If you dont come right, come chat to me on irc (irc://irc.ctwug.za.net/) Channel #ctwug My nick is TFyre
Cheers,
Francois