OK, so this almost works. You have to add an entry to /etc/shorewall/nat, similar to the one in the last post, and you might have to add a rule in /etc/shorewall/rules to allow traffic from outside to get to the vpn.
The only problem is that the end machine on the vpn doesn't know the way back to the outside world through the vpn server machine, the default route is through eth0, not tun0. So it will need to be told somehow. Either iptables (or shorewall), or route??
At the moment, if you ping the new IP address from the outside world, you see this at the destination (on the vpn interface - tun0):
Code:
# tcpdump -nei tun0 icmp
... <blah blah> ...
23:46:05.123458 In ethertype IPv4 (0x0800), length 100: [my.home.ip.address] > 10.4.10.21: ICMP echo request, id 9524, seq 1, length 64
and the reply goes out via eth0:
Code:
# tcpdump -nei eth0 dst 84.13.116.69
... <blah blah> ...
23:45:25.898551 00:0f:ea:ac:9c:af > 00:08:5c:c2:43:f3, ethertype IPv4 (0x0800), length 98: 10.4.10.21 > [my.home.ip.address]: ICMP echo reply, id 57395, seq 1, length 64
This would probably solved by routing all traffic through the vpn, but that's not what I want. So now I have to figure out how to make replies to traffic that came in via the vpn, go back out the same way, regardless of the destination address.
Anyone?