Saya menjalankan Windows Server 2008 R2, kami memiliki aplikasi yang menghubungkan dari (mengikat ke) IP publik di server ke 127.0.0.1:8334 [terhubung ke layanan mendengarkan pada 0.0.0.0:8334]
Di Windows 2003, tidak ada masalah dengan ini. Kita dapat terhubung menggunakan TCP dari 1.2.3.4 [mis.] Ke 127.0.0.1:8334 baik-baik saja.
Pada Windows 2008, kami menemukan bahwa koneksi TCP dari ip publik misalnya 1.2.3.4 ke 127.0.0.1:8334 gagal, bahkan. tetapi layanan menerima koneksi dari 127.0.0.1 ke 127.0.0.1:8334, dan 127.0.0.1 ke 1.2.3.4:8334.
Mencoba mematikan firewall Windows, mengkonfigurasi pendataannya dll (tidak ada entri log yang berguna), tidak berhasil. Apakah ini masalah dengan tumpukan jaringan baru?
suntingan
1.2.3.4 sedang mencoba untuk terhubung ke localhost [127.0.0.1] pada mesin yang sama
File host adalah file host Windows 2008 default.
Info cek loopback, menarik. Mencoba ... tidak berhasil. Periksa silang untuk memverifikasi bahwa Id melakukan semuanya dengan benar - Saya punya.
Saya bertanya-tanya apakah ada solusi menggunakan NAT atau cara lain untuk meneruskan port - jika saya meneruskan 127.0.0.1:port ke 1.2.3.4:port, apakah itu akan berhasil? Mengingat bahwa aplikasi mendengarkan pada 0.0.0.0:port ia akan mengambil koneksi di 1.2.3.4:port
File HOSTS memang mengandung localhost 127.0.0.1 - namun, file host hanya digunakan pada pencarian hostname. Dalam hal ini, aplikasi kita tidak akan mencari nama host apa pun, karena alamat IP 127.0.0.1 di-hardcode ke dalamnya (daripada nama host host lokal). Jadi file HOSTS tidak akan ikut bermain di sini.
Adapun port di atas 1024 [pikir Anda merujuk pada masalah MaxUserPort mungkin?] Saya menguji ini dengan mencoba koneksi sederhana ke port 445 - bekerja dari 127.0.0.1, tidak bekerja ketika saya terhubung dari IP sumber 1.2.3.4. 445 adalah layanan Windows standar, jadi seharusnya berfungsi!
Saat ini tidak menjalankan NAT atau RRAS di mesin ... bertanya-tanya apakah ada cara untuk melakukan rute ulang - Saya kira itu tidak akan berfungsi karena TCP / IP stack akan menolak paket sebelum mencapai antarmuka loopback untuk rute kembali.
Rute cetak saya telah memeriksa - tampaknya baik-baik saja, IP publik dialihkan pertama, kemudian akhirnya 127.0.0.0 netmask 255.255.255.0 dan 127.0.0.1 netmask 255.255.255.255 keduanya untuk loopback.
Sunting Sepertinya saya telah menemukan jawaban untuk alasan masalah. Saya menggunakan eventvwr.msc, mengaktifkan logging Winsock, mematikan layanan lain, hanya mencoba tes koneksi ini. Mendapat kesalahan yang dipetakan secara heksadesimal menjadi STATUS_INVALID_ADDRESS_COMPONENT ketika saya meng-google-nya.
Itu membuat saya ke: http://social.msdn.microsoft.com/Forums/en-US/wfp/thread/d7cb6138-3f67-4467-a068-8325f56739ba
Yang mengkonfirmasi bahwa ini adalah perubahan menurut desain di WFP untuk Vista / 7 / Server 2008 [platform pemfilteran windows].
[Lihat tanggapan oleh Anupama Vasanth]
Sepertinya saya harus menempuh rute yang sulit dan menulis ulang kode [sulit karena itu berarti berurusan dengan manajer!]
Terima kasih telah membantu saya menemukan / mengkonfirmasi masalah ini!