Saya mencoba menjalankan program server di mesin lokal saya. Ini memiliki 2 rute ke Internet:
10.0.0.1/24
dieth0
adalah gateway dan subnet pada antarmuka dengan koneksi tercepat; Namun, firewall mencegah saya mengakses server yang terikat ke port TCP.10.8.0.1/24
dieth1
adalah gateway dan subnet pada antarmuka yang lebih lambat; Namun, saya mengendalikan perangkat gateway dan saya dapat berhasil mem-porting melalui itu dan server terlihat di Internet.
Di mesin saya, saya memiliki rute ini:
default via 10.0.0.1 dev eth0 src 10.0.0.x metric 203
default via 10.8.0.1 dev eth1 metric 800
10.8.0.0/24 dev eth1 proto kernel scope link src 10.8.0.y
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.x metric 203
Jelas, rute via eth0
akan diprioritaskan dalam keadaan normal; namun, agar server saya dapat diteruskan ke port, perlu menggunakan gateway default di eth1
antarmuka tanpa mengarahkan semua lalu lintas lainnya melalui antarmuka yang sama.
Apa yang saya coba sejauh ini adalah untuk mengikat server ke alamat 10.8.0.y
yang berarti hanya menerima koneksi yang tujuannya adalah alamat IP itu. Namun, ini tidak berfungsi untuk mengarahkan lalu lintas ke arah yang berlawanan. Saya telah memverifikasi menggunakan tcpdump -i eth1 -p 25561
bahwa koneksi masuk diterima, tetapi ketika memonitor keduanya eth0
dan eth1
Saya tidak melihat balasan keluar. Sambungan kemudian akan habis pada klien jarak jauh setelah tidak menerima balasan.
Adakah orang lain yang mencoba melakukan hal serupa dan dapat memberikan beberapa wawasan tentang bagaimana saya perlu mengaturnya?
all
dan eth1
.
ip route table
dikombinasikan denganip rule
untuk menautkan IP sumber ke rute tujuan yang cocok. Melihat lartc.org/howto/lartc.rpdb.multiple-links.html . Pertimbangkan mesin lokal Anda adalah router linux yang terhubung ke penyedia 1 dan penyedia 2 demi mengikuti penjelasan di sana. Anda bahkan dapat menggunakan iptables untuk memilih penyedia yang tepat (misalnya dengan memilih ip sumber yang tepat).