Baiklah...
Setelah ribuan jam debugging, mencoba pengaturan yang berbeda dan 72 jam pengujian berat dalam produksi, saya dapat menemukan solusi/penyiapan yang benar, masalahnya ada di aturan iptables (bagian mangle) paket tampaknya ditandai tepat ketika mereka masuk tetapi ketika mereka keluar tidak ada paket untuk dnat'ted, bagaimanapun ini adalah solusi terakhir saya untuk masalah saya:
/etc/sysconfig/iptables :
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
# Basic Rules
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth2 -m state --state RELATED,ESTABLISHED -j ACCEPT
# SSH
-A INPUT -i eth0 -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -i eth2 -m tcp -p tcp --dport 22 -j ACCEPT
# OpenVPN
-A INPUT -i eth0 -m udp -p udp --dport 1194 -j ACCEPT
-A INPUT -i eth2 -m udp -p udp --dport 1194 -j ACCEPT
# Allow everything from LAN
-A INPUT -i eth1 -j ACCEPT
# Allow everything from the VPN
-A INPUT -i tun0 -j ACCEPT
# Default Drop on everything else
-A INPUT -j DROP
# Allow forwarding from LAN and VPN
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -i tun0 -j ACCEPT
# Allow all outbound traffic
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
# DNAT to Developer Box (SSH Server)
-A PREROUTING -i eth0 -p tcp -m tcp --dport 2222 -j DNAT --to-destination 10.0.0.200:2222
-A PREROUTING -i eth2 -p tcp -m tcp --dport 2222 -j DNAT --to-destination 10.0.0.200:2222
# SNAT
-A POSTROUTING -o eth0 -j SNAT --to-source 10.0.1.1
-A POSTROUTING -o eth2 -j SNAT --to-source 10.0.2.1
COMMIT
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# CONNMARK Source Based Routing
-A PREROUTING -i eth0 -m state --state NEW,RELATED,ESTABLISHED -d 10.0.1.1 -j CONNMARK --set-mark 0x2
-A PREROUTING -i eth2 -m state --state NEW,RELATED,ESTABLISHED -d 10.0.2.1 -j CONNMARK --set-mark 0x3
-A PREROUTING -i eth1 -m connmark --mark 0x2 -j CONNMARK --restore-mark
-A PREROUTING -i eth1 -m connmark --mark 0x3 -j CONNMARK --restore-mark
-A OUTPUT -m state --state ESTABLISHED,RELATED -j CONNMARK --restore-mark
COMMIT
Jelas ditambah semua pengaturan sebelumnya yang terkait dengan iproute dan gwping (untuk link load balancing &fail-over), solusinya dimungkinkan berkat sumber [1] &[2], keduanya mengarahkan saya ke bagian yang berbeda (Luca Gibelli untuk bagian PREROUTING dan Karl Bowden untuk bagian OUTPUT) dari solusi, juga saya tinggal di sini beberapa sumber lagi untuk situs web lain yang mengarahkan saya ke arah yang benar untuk mencari. Semoga ini membantu sysadmin lain di masa mendatang.
Salam Hormat
Sumber:
[1]www.nervous.it/2010/09/dnat-and-ip-source-routing-woes/
[2]blog.khax.net/2009/12/01/multi-gateway-balancing-with-iptables/
[3]home.regit.org/netfilter-en/links-load-balancing/
[4]mailman.ds9a.nl/pipermail/lartc/2006q2/018964.html
[5]web.archive.org/web/20120320115329/http://versa.net.au/index.php?option=com_content&task=view&id=21&Itemid=34
Perbarui 10/10/2013
OpenVPN memerlukan direktif konfigurasi tambahan untuk bekerja dengan beberapa pengaturan wan (seperti yang sebelumnya), jadi tambahkan saja opsi multihome di server.conf Anda (OpenVPN>=2.1, untuk versi yang lebih rendah cukup ubah direktif lokal untuk hanya mendengarkan di ip tertentu) dan Anda siap melakukannya.