Setelah sedikit mencari, saya menemukan utas ini:https://forum.linode.com/viewtopic.php?p=50114&sid=b440414422596bb7dbc96cf7c9ee511f#p50114
Saya sekarang telah memodifikasi skrip OpenVPN "route-up" saya sebagai berikut, dan akhirnya berhasil! Saya telah menghapus semua aturan berantakan lainnya (iptable PREROUTING, MASQUERADE, dll).
Ini skrip "route-up" terakhir saya:
ip route flush table 100
ip route flush cache
ip rule add from x.x.x.x table 100
ip route add table 100 to y.y.y.y/y dev ethX
ip route add table 100 default via z.z.z.z
Di mana x.x.x.x adalah IP publik server saya, y.y.y.y/y adalah subnet dari alamat IP publik server saya, ethX adalah antarmuka Ethernet publik server saya, dan z.z.z.z adalah gateway default.
Semoga ini dapat membantu orang lain.
Setelah melalui cobaan yang sama saya sendiri menemukan setidaknya satu masalah dengan skrip route-up.
iptables -t mangle -A PREROUTING ...
seharusnya:
iptables -t mangle -A OUTPUT ...
Baca alasannya di sini:http://www.iptables.info/en/structure-of-iptables.html
Saya tidak perlu mengaktifkan penerusan IP.