This post is a bit overdue. As I promised earlier, here are instructions for setting up an IP Tunnel between a SLAVE server that has some IPs associated with it and a MASTER server that acts as your injector. *** Special thanks to Nickphx for helping me figure this out. *** Let's assume the MASTER has the following IPs: Public IP 126.96.36.199 Private IP Range 192.168.1.0/24 And the SLAVE: Public IP 188.8.131.52 IP Range 184.108.40.206/24 You need to enable ip forwarding, proxy_arp, and disable rp_filter on the SLAVE. To do that: Code: SLAVE # sysctl -w net.ipv4.conf.all.forwarding=1 SLAVE # sysctl -w net.ipv4.ip_forward=1 SLAVE # sysctl -w net.ipv4.conf.all.proxy_arp=1 SLAVE # sysctl -w net.ipv4.conf.eth0.rp_filter=0 SLAVE # sysctl -w net.ipv4.conf.tun0.rp_filter=0 Then, create the tunnel on the MASTER: Code: MASTER # modprobe ip_gre MASTER # ip tunnel add tun0 mode gre local 220.127.116.11 remote 18.104.22.168 MASTER # ip link set dev tun0 up MASTER # ip addr add 192.168.1.0/24 dev rtr MASTER # ip route add dev tun0 22.214.171.124/24 To test, use netcat to connect to an MX server from the MASTER, binding to one of the new IPs from the SLAVE: Code: MASTER # nc -s 126.96.36.199 b.mx.mail.yahoo.com 25 Hopefully this is helpful to someone else!