Saya mencoba menjalankan program server di mesin lokal saya. Ini memiliki 2 rute ke Internet:
10.0.0.1/24dieth0adalah gateway dan subnet pada antarmuka dengan koneksi tercepat; Namun, firewall mencegah saya mengakses server yang terikat ke port TCP.10.8.0.1/24dieth1adalah 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 tabledikombinasikan denganip ruleuntuk 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).