Kami baru-baru ini mengimplementasikan HAProxy untuk stackoverflow.com. Kami memutuskan untuk menggunakan TProxy untuk mempertahankan alamat sumber untuk koneksi klien sehingga log kami dan modul IIS lainnya yang bergantung pada alamat IP klien tidak akan memerlukan modifikasi. Jadi paket-paket itu tiba dipalsukan seolah-olah mereka datang dari alamat IP internet eksternal, padahal sebenarnya mereka datang dari IP HAProxy 192.168.xx lokal di jaringan lokal kami.
Kedua server web kami memiliki dua NIC - satu alamat kelas B yang dapat dirutekan di internet publik dengan IP statis, DNS, dan gateway standar dan satu alamat private class C unroutable yang dikonfigurasi dengan gateway default yang diarahkan ke IP pribadi untuk HAProxy. HAProxy memiliki dua antarmuka - satu publik dan satu pribadi dan melakukan pekerjaan paket routing secara transparan antara antarmuka dan mengarahkan lalu lintas ke server web yang sesuai.
Internet adapter ethernet: Deskripsi . . . . . . . . . . : kartu jaringan # 1 DHCP Diaktifkan. . . . . . . . . . . : Tidak Konfigurasi Otomatis Diaktifkan. . . . : Iya Alamat IPv4. . . . . . . . . . . : 69.59.196.217 (Lebih disukai) Subnetmask . . . . . . . . . . . : 255.255.255.240 Gateway Default. . . . . . . . . : 69.59.196.209 Server DNS. . . . . . . . . . . : 208.67.222.222 208.67.220.220 NetBIOS melalui Tcpip. . . . . . . . : Diaktifkan Adaptor Ethernet Private Local: Deskripsi . . . . . . . . . . : kartu jaringan # 2 DHCP Diaktifkan. . . . . . . . . . . : Tidak Konfigurasi Otomatis Diaktifkan. . . . : Iya Alamat IPv4. . . . . . . . . . . : 192.168.0.2 (Lebih disukai) Subnetmask . . . . . . . . . . . : 255.255.255.0 Gateway Default. . . . . . . . . : 192.168.0.50 NetBIOS melalui Tcpip. . . . . . . . : Diaktifkan
Kami telah menonaktifkan metrik otomatis pada masing-masing server web dan menetapkan metrik 10 kelas publik B yang dapat dialihkan dan antarmuka pribadi kami metrik 20.
Kami juga telah menetapkan kedua kunci registri ini:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DeadGWDetectDefault"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"EnableDeadGWDetect"=dword:00000000
Sekitar dua kali per hari kami melihat masalah di mana salah satu server web tidak dapat menghubungi DNS atau membuat koneksi ke server lain di internet publik.
Kami menduga deteksi gateway mati secara palsu mendeteksi pemadaman pada gateway publik dan mengalihkan semua lalu lintas ke gateway pribadi yang tidak memiliki akses DNS pada saat ini tetapi tidak memiliki cara untuk memverifikasi ini.
Apakah ada cara untuk mengetahui apakah deteksi gerbang mati berjalan atau bahkan opsi di server Windows 2008?
Jika demikian, apakah ada cara untuk menonaktifkan deteksi gerbang mati di server Windows 2008?
Jika tidak, adakah alasan lain mengapa kita kehilangan kemampuan untuk menyelesaikan DNS atau terhubung untuk waktu yang singkat?
sumber
Jawaban:
Mereka DWORD Deteksi Gateway Mati tidak berguna pada Windows Server 2008. Satu-satunya alasan mereka ada adalah karena alasan kompatibilitas. Driver TCP / IP dan komponen router Windows tidak mencari nilai-nilai ini lagi.
Saya menduga fitur ini dimasukkan ke Auto-Tuning, yang memulai debutnya di Windows Vista. Coba jalankan berikut ini di prompt perintah yang ditinggikan (dan reboot):
Pembaruan ( ditambahkan 13 September 2009 @ 7: 58PM EST )
Jika itu tidak berhasil, kami akan membutuhkan lebih banyak hasil diagnostik. Mulai jejak (melingkar) dengan skenario NetConnection atau LAN dan biarkan terus berjalan sampai masalah terjadi.
(Contoh: Memulai skenario pelacakan NetConnection, dengan ukuran log jejak maksimum 512MB)
Anda dapat membuka jejak yang dihasilkan di Network Monitor 3.3 , pastikan Anda menginstal parser terbaru .
sumber
Kami tidak dapat mencapai hasil konklusif mengapa kami tidak dapat mengontrol perilaku Deteksi Gateway Mati.
Daripada menghabiskan banyak waktu untuk memecahkan masalah ini, kami memilih untuk membuat lalu lintas rute instance HAProxy kami ke gateway keluar dan mengatur kedua server web gateway default ke IP haproxy dan menghapus alamat gateway internal.
Sekarang hanya ada satu gateway default yang menghilangkan masalah kami karena deteksi gateway default mati tidak lagi digunakan.
sumber
Saya akan mempertanyakan mengapa Anda bahkan perlu mengubah gateway default menjadi HAproxy sama sekali. Secara umum Anda tidak boleh mengubah gateway default Anda sama sekali kecuali Anda mengarahkannya pada pengaturan N + 1 yang sangat tersedia di mana IP gateway dapat failover ke router / mesin lain jika terjadi sesuatu yang buruk. Jika sesuatu terjadi pada mesin HAproxy Anda dan Anda tidak memiliki akses out-of-band, maka server web hanya akan turun dari internet.
Karena saya percaya alasan Anda mungkin melakukan ini adalah karena Anda menggunakan Tproxy dalam pengaturan Anda untuk membuat alamat IP klien muncul di log Anda dan bukan IP server proxy, dapatkah saya menyarankan Anda melakukan ini sebagai gantinya
Saya tidak memiliki mesin Windows untuk menguji ini, tetapi saya percaya ini akan menghasilkan efek yang diinginkan tanpa kehilangan konektivitas yang tidak diinginkan.
sumber
x-forwarded-for
header itu dan filter IIS untuk mengubah log, tetapi kami tidak tahu bagaimana (atau jika) modul IIS opsional kami yang lain juga menggunakan header itu dalam operasinya.Ketika akses internet terlibat (biasanya) maka gateway default seharusnya hanya digunakan untuk menunjukkan jalur ke INTERNET. Jika Anda memiliki beberapa gateway default yang ditentukan, router OS tidak dapat memutuskan mana yang akan digunakan, dan jika satu gateway default menunjukkan cul-de-sac (mis. LAN multi-segmen Anda) maka paket yang diteruskan ke sana untuk internet adalah tidak akan berhasil.
sumber