JConsole yhdistyy rekisteriin, ja sitten RMI lähettää sen muualle
Se, että rekisterin portti vastaa, on vain ensimmäinen hyppy. Etä-JMX-palvelin voi ilmoittaa toisen isäntäkoneen ja toisen liittimen portin, ja tunnelin on tavoitettava molemmat.
Yhdistä tunnelin kautta rekisterin porttiin, katso kättelyn alkavan ja katso sitten, miten JConsole silti aikakatkaistaan. Näin käy, koska ensimmäinen TCP-yhteys ei ole hallintayhteys: se on haku. RMI-rekisteri vastaa viitteellä, joka nimeää isäntäkoneen ja toisen portin, ja JConsole menee sitten sinne, minne sitä käskettiin. Jos tunneli tavoittaa vain palvelimen ensimmäisen portin tai viite nimeää osoitteen, joka on olemassa vain palvelimen omassa lähiverkossa, asiakas pysähtyy näennäisen onnistumisen jälkeen.
Myytti: yksi avoin portti on yksi yhteys
Etä-JMX RMI:n yli käsittää vähintään kaksi päätepistettä, ja ne valitsevat järjestelmän eri osat. Rekisterin portti on se, jonka kirjoitat asiakkaaseen, ja se on olemassa antaakseen stubin, joka kuvaa varsinaisen liittimen. Jos pidät ensimmäistä onnistunutta socketia todisteena siitä, että hallintapolku on auki, kahden minuutin diagnoosista tulee koko iltapäivän palomuuritiketti.
Katso asiakkaan omaa virhettä, älä palvelimen kuuntelijoiden luetteloa. Kättelyn alun jälkeinen virhe kertoo, että toinen yhteys, ei ensimmäinen, ei valmistunut.
Mitä rekisteri palauttaa
Stub sisältää osoitteen ja portin, jotka sarjallistettiin sillä hetkellä, kun liitin luotiin. Palvelimessa, jossa on useita liitäntöjä, pino on voinut valita osoitteen, joka on tavoitettavissa paikallisverkosta mutta ei sinun verkostasi. Asiakas ei tunne eroa; se yksinkertaisesti valitsee saamansa arvon, ja paketti seuraa reittiä, joka kyseiselle osoitteelle on olemassa, VPN-asiakkaassa usein ei mitään. Siinä hetkessä toista yhteyttä yritetään.
Siksi virhe onkin ajoittaista ympäristöjen välillä: sama palvelin voi käyttäytyä eri tavoin lähiverkon käyttäjälle ja tunnelin käyttäjälle, ilman että JMX-asetuksiin tulee mitään muutosta.
Kaksi porttia ja kaksi ominaisuutta, jotka kiinnittävät ne
Rekisterin portti tulee kohdasta com.sun.management.jmxremote.port, ja liittimen voi kiinnittää kohdalla com.sun.management.jmxremote.rmi.port sen sijaan, että jättäisi sen pinon jaettavaksi. Aseta molemmat nimenomaisesti, kun asiakkaan ja palvelimen välissä on palomuuri tai tietoturvaryhmä, sillä ennakoimatonta toista porttia ei voi sallia etukäteen, ja sen vuoksi avattu laaja alue on huonompi kuin yksi kiinteä portti.
Vahvista sitten palvelimella komennolla ss -ltn tai netstat -an, että molemmat portit kuuntelevat ja millä osoitteilla. Loopbackiin sidottu kuuntelija on oikein vain paikalliseen käyttöönottoon ja hyödytön tähän.
Kun ilmoitettu nimi on väärä
Etäviitteessä näkyvän isäntänimen asettaa java.rmi.server.hostname. Se vaikuttaa siihen, mitä stub ilmoittaa; se ei itsessään ole ohje sitoa jokaista kuuntelijaa yhteen liitäntään, minkä vuoksi sen asettaminen ei aina tuota odotettua yhden portin käyttäytymistä. Aseta se, käynnistä prosessi uudelleen ja tarkista sitten, mitä stub todella sisältää. Valitse nimi tai osoite, jonka asiakas voi selvittää ja tavoittaa tunnelin kautta, ja käynnistä prosessi uudelleen, jotta stub rakennetaan uudelleen.
Konttiverkot pahentavat tätä, koska prosessin näkemä osoite voi olla sisäinen eikä kontin ulkopuolelta reititettävissä. Julkaise aiottu isäntänimi nimenomaisesti sen sijaan, että annat alustan valita.
Jos teet tunnelin SSH:lla VPN:n sijaan, sama ongelma näkyy toisessa asussa: vain rekisterin portin välittäminen jättää toisen päätepisteen osoittamaan osoitteeseen, johon asiakkaasi ei pääse. Välitä molemmat portit ja varmista, että ilmoitettu nimi ratkeaa joksikin, mihin asiakas pääsee paikallisesti.
Älä poista hallinnan tietoturvaa käytöstä yksinkertaistaaksesi
Palaset, jotka poistavat todennuksen ja TLS:n käytöstä, löytyvät helposti ja saavat yhteyden toimimaan tavalla, joka sinun on myöhemmin peruttava. Etä-JMX on hallintaliitäntä, jolla on samat oikeudet kuin prosessilla, jota se tarkastelee; pidä sen käyttöoikeudet voimassa, ja jos asiakas ei voi esittää tunnuksia, korjaa juuri se.
Kun päätepisteet ovat oikein, säilytä seuraava näkemäsi virhe. Luottamussäilön tai tilin hylkäys on myöhempi vaihe kuin tavoittamaton liitin, ja se tarkoittaa, että verkkotyö on valmis.