Tl; Dr
Saya memiliki contoh SQL Server (SQLSERVER01-i01) dengan alamat IP khusus dan port (162.xxx.xxx.51: 1433) pada server SQL multi-instance (setiap instance SQL Server pada Windows Server memiliki alamat IP sendiri ) yang semuanya berjalan pada satu server Windows (SQLSERVER01 / 162.xxx.xxx.50).
Saya juga punya contoh Layanan Pelaporan khusus (SQLSERVERRS01-i01) dengan alamat dan port IP sendiri (168.xxx.xxx.71: 1433), yang berjalan pada server Windows yang berbeda (SQLSERVERRS01) dengan alamat IP sendiri (168). .xxx.xxx.70).
Server Layanan Pelaporan khusus memiliki aplikasi APPL1
yang dapat dihubungi melalui http://SQLSERVERRS01-i01:80/Reports_APPL1
atau melalui http://SQLSERVERRS01:80/Reports_APPL1
.
SSRS akan mengambil kedua permintaan karena *:80
konfigurasi dalam Konfigurasi Layanan Pelaporan untuk header host.
Kami memiliki beberapa firewall di antara setiap rentang IP, yang berarti kami harus menerapkan aturan khusus untuk setiap koneksi IP-ke-IP atau IPrange-ke-IP. Namun ketika dua server terlibat, maka keamanan menentukan bahwa itu selalu harus menjadi aturan IP-ke-IP di firewall.
Pertanyaan
(berdasarkan tangkapan layar lebih jauh ke bawah)
Ketika server Layanan Pelaporan terhubung ke instance SQL Server (pada 162.xxx.xxx.51) untuk mengambil data, apakah ia akan selalu membangun koneksi dengan alamat IP yang mendasari server Windows (168.xxx.xxx.70 / disukai ) yang menjalankan SSR, atau apakah (kadang-kadang) akan menggunakan alamat IP dari contoh SQL Server Reporting Services (168.xxx.xxx.71)?
Ini relevan untuk konfigurasi aturan firewall menggunakan pendekatan IP-ke-IP. Saya juga harus menerapkan aturan yang mendefinisikan koneksi 168.xxx.xxx.71 hingga 162.xxx.xxx.51 melalui port 1433 atau 168.xxx.xxx.70 hingga 162.xxx.xxx.51 melalui port 1433.
Saat ini saya akan berlaku untuk kedua aturan firewall.
Pertanyaan Bonus
Dapatkah saya mengonfigurasi server Layanan Pelaporan untuk berkomunikasi dengan alamat IP khusus? Dalam hal ini dengan alamat 168.xxx.xxx.71.
Jawaban yang saya tidak cari
Saya tidak mencari saran tentang cara mengoptimalkan konfigurasi firewall atau bagaimana menerapkan konsep zonasi untuk jaringan kami. (Sudah dalam pipa). Selain itu saya tidak tertarik pada umpan balik yang menyarankan bahwa memiliki SQL Server dan SSR di server yang sama akan menyelesaikan masalah saya. Saya tahu itu dan dengan senang hati akan melakukannya tetapi untuk perangkat lunak pihak ketiga yang diperlukan untuk berjalan bersama dengan komponen SSR.
Berhasil
Konfigurasi yang saya miliki berfungsi jika saya menerapkan kedua aturan firewall antara instance SSRS dan SQL Server.
168.xxx.xxx.71 --> 162.xxx.xxx.51 : 1433
168.xxx.xxx.70 --> 162.xxx.xxx.51 : 1433
Saya ingin mengurangi dengan aman oleh satu aturan firewall dan memastikan bahwa semuanya akan tetap berfungsi. (Lihat tangkapan layar lebih jauh ke bawah)
Sunting: Artikel yang telah saya baca sejauh ini menyarankan saya hanya perlu aturan kedua, tetapi tidak ada jaminan.
Artikel yang sudah saya konsultasikan
Pertimbangan Keamanan untuk
artikel Basis Instalasi SQL Server .Mengkonfigurasi Windows Firewall untuk Mengizinkan SQL Server Mengakses
Artikel ini menunjuk ke semua artikel lain mengenai konfigurasi firewall untuk SQL Server.Mengkonfigurasi Windows Firewall untuk Akses Engine Basis Data
Tidak ada kata dari alamat IP yang digunakan.Mengkonfigurasi Firewall untuk Akses Server Laporan
Artikel ini cukup menarik seperti yang dicatat:Jika Anda mengakses database relasional SQL Server di komputer eksternal, atau jika database server laporan adalah turunan SQL Server eksternal, Anda harus membuka port 1433 dan 1434 di komputer eksternal.
Sumber pemilihan alamat IP pada Komputer Windows Multi-Homed
Artikel 5 & 6 diberikan kepada saya oleh James (dba.se). Mereka saat ini tampaknya menjadi jawaban yang paling tepat. Namun saya agak skeptis bahwa satu artikel menyebutkan penggunaan beberapa NIC sedangkan saya hanya memiliki satu NIC dengan beberapa IP yang ditugaskan untuk itu. Tom (dba.se) juga memberikan saran dan komentar umum.
Mengapa di sini dan bukan di dba.stackexchange.com
Awalnya saya enggan untuk memposting pertanyaan ini di serverfault.com karena sifat pertanyaan yang kompleks. Pertanyaannya memiliki kedua kecenderungan untuk menjadi spesifik SQL Server, tetapi juga untuk spesifik Windows Server. Akhirnya saya memutuskan untuk mempostingnya di sini, karena saya pikir itu adalah Windows Server IP yang menangani sesuatu (untuk kehilangan kata-kata yang lebih baik).
Jika seorang moderator berpikir bahwa saya akan mendapatkan respons yang lebih baik di dba.stackexchange.com, silakan pindahkan pertanyaan ke sana.
Penjelasan Panjang
Di lingkungan kami, kami memiliki server Windows yang menjadi tuan rumah beberapa instance SQL Server dan beberapa pengaturan IP. Kami menambahkan konfigurasi firewall yang kompleks, server SQL Server Reporting Services (SSRS) yang berdedikasi dan menghasilkan lingkungan yang terlihat sedikit seperti ini:
Pada dasarnya kita dapat memiliki satu Server Windows yang menjalankan hingga 15 (lima belas) contoh SQL Server pada masing-masing alamat IP. Hal yang sama berlaku untuk instance Layanan Pelaporan khusus.
Aturan Firewall
Rentang IP yang berbeda saat ini tidak dikonfigurasikan sebagai zona, yang berarti kita harus mengkonfigurasi setiap aturan firewall secara independen sebagai aturan IP-ke-IP atau IPrange-ke-IP. Ketika dua server terlibat, maka keamanan menentukan bahwa itu selalu harus menjadi aturan IP-ke-IP. Setiap contoh SQL Server akan memiliki seperangkat aturan sendiri untuk firewall yang terlibat dalam komunikasi, baik ini tautan server-ke-server atau klien-ke-server. Menerapkan aturan firewall saat ini dikenakan masa tunggu empat hingga enam minggu. Mengurangi jumlah aturan firewall akan mengurangi jumlah tekanan pada tim keamanan jaringan.
Konfigurasi IP SQL Server Instance
Mengkonfigurasi contoh SQL Server untuk mengambil hanya pada IP khusus dan port dilakukan dengan memodifikasi beberapa pengaturan di utilitas SQL Server Configuration Manager. Langkah pertama adalah memulai SQL Server Configuation Manager dan di bagian kiri pilih SQL Server Network Configuration | Protokol untuk InstanceName . Di sebelah kiri klik kiri Nama Protokol TCP / IP dan Aktifkan protokol. Kemudian klik kiri protokol lagi dan buka Properties for TCP / IP window.
Kemudian pastikan pengaturan berikut diatur dalam register Protokol :
Enabled : Yes
Listen All : No
Dalam register IP Adresses periksa pengaturan berikut untuk alamat IP yang dimaksud (mis. Untuk server Layanan Pelaporan dalam contoh ini adalah untuk 168.xxx.xxx.71)
Active : Yes
Enabled : Yes
IP Address : 168.xxx.xxx.71
TCP Dynamic Ports :
TCP Port : 1433
Catatan: Penting bahwa pengaturan untuk TCP Dynamic Ports kosong bukan hanya 0 (nol).
Sekarang Anda memiliki contoh SQL Server yang hanya akan mengambil koneksi database pada 168.xxx.xxx.71 menggunakan port 1433.
Ringkasan SQL Server Instance
Layanan SQL Server Browser tidak berjalan dan setiap instance SQL Server individu dikonfigurasikan untuk hanya menggunakan alamat IP sendiri pada port 1433. Diberikan instance SQL Server yang disebut GENERAL, server Windows dengan nama host SQLSERVER01 dan dua alamat IP 162.xxx .xxx.50 (host) dan 162.xxx.xxx.51 (SQL Instance) Saya akan berakhir dengan item konfigurasi berikut:
Windows Server : SQLSERVER01
Windows Server IP : 162.xxx.xxx.50
SQL Server Instance : SQLSERVER01-i01 (DNS A record)
SQL Server Instance : GENERAL (can only be used on the host itself)
SQL Server IP/Port : 162.xxx.xxx.51:1433
SQL Server tidak akan menerima permintaan untuk 162.xxx.xxx.50: 1433, karena tidak ada instance SQL Server yang dikonfigurasi untuk mendengarkan alamat IP ini di utilitas SQL Server Configuration Manager. SQL Server hanya akan mengambil permintaan untuk SQLSERVER01-i01 (pada port 1433) atau 162.xxx.xxx.51.1333.
Ringkasan Contoh Layanan Pelaporan SQL Server
Layanan Browser SQL Server tidak berjalan dan masing-masing individu SQL Server Reporting Services dikonfigurasi untuk menggunakan hanya alamat IP sendiri pada port 1433. Diberikan contoh SQL Server Reporting Services disebut GENERAL, server Windows dengan nama host SQLSERVERRS01, sebuah aplikasi pada SSR yang dinamai APPL1
dan dua alamat IP 168.xxx.xxx.70 (host) dan 168.xxx.xxx.71 (SQL Instance) Saya akan berakhir dengan item konfigurasi berikut:
Windows Server : SQLSERVERRS01
Windows Server IP : 168.xxx.xxx.70
SQL Server Instance : SQLSERVERRS01-i01 (DNS A record)
SQL Server Instance : GENERAL (can only be used on the host itself)
SQL Server IP/Port : 168.xxx.xxx.71:1433
Reporting Services : http://sqlserverrs01-i01/Reports_APPL1
http://sqlserverrs01/Reports_APPL1
SQL Server tidak akan menerima permintaan untuk 168.xxx.xxx.70: 1433, karena tidak ada instance SQL Server yang dikonfigurasi untuk mendengarkan alamat IP ini di utilitas SQL Server Configuration Manager. SQL Server hanya akan mengambil permintaan untuk SQLSERVER01-i01 (pada port 1433) atau 162.xxx.xxx.71,1433.
SSRS akan menerima permintaan untuk http: // sqlserverrs01-i01 / Reports_APPL1 atau http: // sqlserverrs01 / Reports_APPL1 karena konfigurasi *: 80 dalam Konfigurasi Layanan Pelaporan untuk konfigurasi header host.
Saya harap saya telah memberikan informasi yang cukup untuk siapa pun yang mau menghabiskan waktu menulis jawaban dan saya menantikan detail teknis dan tautan Anda.
Ditulis dengan StackEdit dan kemudian dimodifikasi secara manual agar kompatibel dengan stackexchange .
Sejarah
Sunting 1 : Rilis Awal
Sunting 2 : Diformat ulang untuk dibaca. Memindahkan penjelasan SF / DB ke bawah. Menambahkan nama host untuk Windows Server
Sunting 3 : Memperbaiki alamat IP yang salah dalam daftar aturan firewall.
Sunting 4 : mengubah kata hosting menjadi berjalan (ini adalah lingkungan yang tidak tervirtualisasi) di beberapa tempat. Menambahkan alamat IP dalam satu kalimat sekali
Edit 5 : Menambahkan daftar artikel yang telah saya konsultasikan dan rujukan dukungan.
Edit 6 : Membersihkan bagian Riwayat