I've been pondering about this for a while, maybe you can explain why this is working the way its working!!
Here's the scenario:
lo100
--------R1-----------------R2
R1 lo100 = 12.0.0.1
R1 should ping R2's interface, with lo100 source. R2 doesn't have route to 12.0.0.1.
The idea is to use NAT on R1 and translate source address to something R2 knows about.
Therefore there are two solutions - inside local to inside global (ip nat inside source...) and outside global to outside local (ip nat outside source).
Solution 1: ip nat inside source static 12.0.0.1 interface s1/0
int lo100 is
ip nat inside
int s1/0 is
ip nat outside
This works, lo100 is translated to s1/0 when going outside and R1 can ping R2.
Solution 2: ip nat outside source static 12.0.0.1 10.0.0.1
int lo100 is
ip nat outside
int s1/0 is
ip nat inside
This doesn't work! But i can't see why not - lo100 from outside should be translated to inside. The translation never happens.
Do you know why?