- 12/06/2018
- 7 minut, aby si
-
- D
- d
- n
- V
- g
-
+1
se můžete setkat RPC server není k dispozici chyba při připojování k Windows Management Instrumentation (WMI), SQL Server, během vzdáleného připojení, nebo pro některé Microsoft Management Console (MMC) moduly snap-in., Následující obrázek je příkladem chyby RPC.
Toto je běžně se vyskytující chybovou zprávu v sítí světa a člověk může ztratit doufám, že velmi rychle, aniž by se snažil pochopit, co se děje „pod kapotou“.
než se dostanete k řešení problémů * RPC server nedostupný-chyba, pojďme nejprve pochopit základy o chybě. Existuje několik důležitých pojmů, které je třeba pochopit:
- Endpoint mapper – služba naslouchající serveru, která vede klientské aplikace k serverovým aplikacím podle portů a UUID.,
- Tower-popisuje protokol RPC, který umožňuje klientovi a serveru vyjednat připojení.
- podlaha-obsah věže se specifickými daty, jako jsou porty, IP adresy a identifikátory.
- UUID-známý GUID, který identifikuje aplikaci RPC. UUID je to, co používáte k zobrazení konkrétního druhu RPC aplikační konverzace, protože je pravděpodobné, že jich bude mnoho.
- Opnum-identifikátor funkce, kterou klient chce server spustit. Je to jen hexadecimální číslo, ale dobrý síťový analyzátor vám tuto funkci překládá., Pokud to ani neví, musí vám to říct dodavatel aplikace.
- Port-komunikační koncové body pro klientské a serverové aplikace.
- Stub data-informace poskytnuté funkcím a datům vyměňovaným mezi klientem a serverem. Toto je užitečné zatížení, důležitá část.
Poznámka
při odstraňování problémů se používá mnoho výše uvedených informací, nejdůležitější je dynamické číslo portu RPC, které získáte při rozhovoru s EPM.,
Jak funguje připojení
Klient chce provádět některé funkce, nebo chce využít služby běží na vzdáleném serveru, bude nejprve navázat spojení s Vzdálenému Serveru, tím, že dělá tři-way handshake.
RPC porty mohou být uvedeny z určitého rozsahu, jakož.,
Konfigurovat RPC dynamické přidělování portů
Vzdálené Volání procedur (RPC) dynamické přidělování portů se používá server aplikacemi pro vzdálenou správu, jako je například Dynamic Host Configuration Protocol (DHCP) Manager, Windows Internet Name Service (WINS), Manažer, a tak dále. RPC dynamické přidělování portů poučí RPC program použít konkrétní náhodný port v rozsahu konfigurované pro protokol TCP a UDP, na základě provádění použitý operační systém.,
zákazníci používající firewally mohou chtít ovládat, které porty RPC používá, aby jejich firewall router mohl být nakonfigurován tak, aby předal pouze tyto porty protokolu řízení přenosu (UDP a TCP). Mnoho serverů RPC v systému Windows vám umožní zadat port serveru ve vlastních konfiguračních položkách, jako jsou položky registru. Když zadáte vyhrazený port serveru, víte, co dopravní toky mezi hostiteli přes firewall, a můžete definovat, jaký provoz je povolen ve více zaměřeny způsobem.
jako port serveru vyberte port mimo rozsah, který chcete specifikovat níže., Úplný seznam serverových portů, které se používají v systémech Windows a hlavních produktech společnosti Microsoft, naleznete v článku Přehled služeb a požadavky na síťový port pro Windows.Článek také uvádí servery RPC a které servery RPC lze nakonfigurovat tak, aby používaly vlastní serverové porty mimo zařízení, která RPC runtime nabízí.
některé firewally také umožňují filtrování UUID, kde se učí z požadavku RPC Endpoint Mapper pro rozhraní RPC UUID. Odpověď má číslo portu serveru a následná vazba RPC na tomto portu je pak povolena.,
pomocí Editoru registru můžete pro RPC upravit následující parametry. RPC Port klíčové hodnoty zmiňované dále jsou umístěny v následující klíč registru:
HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\Internet\ název položky Datový Typ
Porty REG_MULTI_SZ
- Určuje nastavení rozsahů portů IP sestávající buď ze všech portů dostupných z Internetu, nebo ze všech portů, které nejsou dostupné z Internetu. Každý řetězec představuje jeden port nebo inkluzivní sadu portů., Například jeden port může být reprezentován 5984 a sada portů může být reprezentována 5000-5100. Pokud žádné položky jsou mimo rozsah 0 až 65535, nebo pokud řetězec nelze interpretovat, RPC runtime léčí celou konfiguraci za neplatnou.
PortsInternetAvailable REG_SZ Y nebo N (nerozlišují malá a velká písmena)
- Pokud Y, porty uvedené v klíči Ports jsou všechny na Internetu dostupné porty na počítači. Pokud N, porty uvedené v klíči porty jsou všechny ty porty, které nejsou k dispozici na internetu.,
UseInternetPorts REG_SZ) Y nebo N (není citlivý na malá písmena)
- určuje výchozí zásady systému.
- Pokud Y, procesy používající Výchozí budou přiřazeny porty ze sady portů dostupných na internetu, jak bylo definováno dříve.
- If N, procesy používající Výchozí budou přiřazeny porty ze sady intranetových portů.
příklad:
v tomto příkladu byly libovolně vybrány porty 5000 až 6000 včetně, které pomohou ilustrovat, jak lze nový klíč registru nakonfigurovat., Toto není doporučení minimálního počtu portů potřebných pro konkrétní systém.
měli byste otevřít řadu portů nad portem 5000. Čísla portů pod 5000 mohou být již používána jinými aplikacemi a mohou způsobit konflikty s vaší aplikací DCOM. Předchozí zkušenosti navíc ukazují, že by mělo být otevřeno minimálně 100 portů, protože několik systémových služeb se spoléhá na tyto porty RPC, aby spolu komunikovaly.
Poznámka
minimální počet požadovaných portů se může lišit od počítače k počítači., Počítače s vyšším provozem se mohou dostat do situace vyčerpání portů, pokud jsou dynamické porty RPC omezeny. Vezměte to v úvahu při omezení rozsahu portů.
varování
Pokud dojde k chybě v konfiguraci portu nebo v bazénu nejsou dostatečné porty, služba Mapper koncových bodů nebude moci registrovat servery RPC s dynamickými koncovými body. Pokud dojde k chybě konfigurace, kód chyby bude 87 (0x57) ERROR_INVALID_PARAMETER. To může ovlivnit i servery Windows RPC, například Netlogon., To bude protokolu událost 5820 v tomto případě:
Název Protokolu: SystemSource: NETLOGONEvent ID: 5820Level: ErrorKeywords: ClassicDescription:služba Netlogon nelze přidat AuthZ RPC rozhraní. Služba byla ukončena. Došlo k následující chybě: ‚parametr je nesprávný.‘
Pokud byste chtěli udělat hluboký ponor, jak to funguje, viz RPC over IT / Pro.
odstraňování závad RPC error
PortQuery
nejlepší je vždy řešit problémy s RPC, než se dostanete ke stopám, je použití nástrojů, jako je PortQry., Můžete rychle zjistit, zda jste schopen provést připojení pomocí příkazu:
Portqry.exe -n <ServerIP> -e 135
To by vám hodně výstupu hledat, ale měli byste být při pohledu na *ip_tcp – a port číslo v závorkách, které řekne, zda jste byli úspěšně schopni se dostat dynamický port z EPM a také připojení k němu. Pokud se výše uvedené nezdaří, můžete obvykle začít sbírat simultánní síťové stopy., Něco takového z výstupu „PortQry“:
Portqry.exe -n 169.254.0.2 -e 135
Dílčí výstup níže:
tučně je dočasné číslo portu, které jste provedli připojení úspěšně.
Netsh
můžete spustit následující příkazy, aby využít Windows vestavěný netsh zachycuje, sbírat souběžné stopy. Nezapomeňte provést níže na „Admin CMD“, vyžaduje nadmořskou výšku.,
-
klient
Netsh trace start scenario=netconnection capture=yes tracefile=c:\client_nettrace.etl maxsize=512 overwrite=yes report=yes
-
Na Serveru
Netsh trace start scenario=netconnection capture=yes tracefile=c:\server_nettrace.etl maxsize=512 overwrite=yes report=yes
zkuste váš problém reprodukovat z klientského počítače a jakmile máte pocit, že problém má byla reprodukována, jděte vpřed a zastavit stopy pomocí příkazu
Netsh trace stop
Otevřít stopy v Microsoft Network Monitor 3.4 nebo Message Analyzer a filtr trasování pro
-
Ipv4.address==<client-ip>
ipv4.address==<server-ip>
tcp.port==135
nebo jentcp.port==135
by měl pomoci., -
vyhledejte protokol „EPM“ ve sloupci „protokol“.
-
Nyní zkontrolujte, zda máte odpověď ze serveru. Pokud dostanete odpověď, poznamenejte si číslo dynamického portu, které vám bylo přiděleno k použití.
-
zkontrolujte, zda se úspěšně připojujeme k tomuto dynamickému portu.,
-
filtr by měl být něco jako toto:
tcp.port==<dynamic-port-allocated>
ipv4.address==<server-ip>
To by mělo pomoci ověřit připojení a izolovat, pokud nějaké síťové problémy jsou vidět.
Port nedostupný
nejčastějším důvodem, proč bychom viděli, že server RPC není k dispozici, je, když dynamický port, který se klient pokouší připojit, není dosažitelný. Trasování na straně klienta by pak zobrazovalo TCP SYN retransmity pro dynamický port.,
port nesmí být dosažitelné z některého z následujících důvodů:
- dynamický rozsah port je blokován na firewallu v prostředí.
- Střední zařízení Stahuje pakety.
- cílový server Stahuje pakety (WFP drop / NIC drop/ Filter driver atd.).
Leave a Reply