JConsole тізілімге қосылады, содан кейін RMI оны басқа жерге жібереді
Тізілім портының жауап беруі — тек бірінші секіріс. Қашықтағы JMX сервері басқа хост пен басқа коннектор портын жариялауы мүмкін, ал туннель екеуіне де жетуі керек.
Туннель арқылы тізілім портына қосылыңыз, қол алысудың басталуын бақылаңыз, содан кейін JConsole бәрібір уақыт бітуіне ұшырағанын көріңіз. Бұл бірінші TCP қосылымы басқару қосылымы емес, іздеу болғандықтан болады. RMI тізілімі хост пен екінші портты көрсететін сілтеме қайтарады, содан кейін JConsole өзіне айтылған жерге барады. Егер туннель сервердің тек бірінші портына жетсе немесе сілтеме сервердің өз жергілікті желісінде ғана бар мекенжайды көрсетсе, клиент сырттай сәтті болғаннан кейін тұрып қалады.
Аңыз: бір ашық порт — бір қосылым
RMI арқылы қашықтағы JMX кемінде екі шеткі нүктені қамтиды және оларды жүйенің әртүрлі бөліктері таңдайды. Тізілім порты — клиентке енгізетін порт, ол нақты коннекторды сипаттайтын stub-ты беру үшін бар. Бірінші сәтті сокетті басқару жолының ашық екенінің дәлелі деп қабылдау екі минуттық диагностиканы firewall билеттеріне толы түске айналдырады.
Сервердің тыңдаушылар тізіміне емес, клиенттің өз қатесіне қараңыз. Қол алысу басталғаннан кейінгі қате бірінші емес, екінші қосылымның аяқталмағанын айтады.
Тізілім не қайтарады
Stub коннектор жасалған сәтте серияланған мекенжай мен портты қамтиды. Бірнеше интерфейсі бар серверде стек жергілікті желіден қолжетімді, ал сіздікінен қолжетімсіз мекенжайды таңдаған болуы мүмкін. Клиент айырмашылықты білмейді; ол жай ғана алған мәнді тереді, пакет сол мекенжай үшін бар маршрутты ұстанады, VPN клиентінде ол көбіне мүлде жоқ. Екінші қосылым әрекеті жасалатын сәт осы.
Қатенің орталар арасында тұрақсыз болуының себебі де осы: бірдей сервер JMX конфигурациясында ешбір өзгеріссіз жергілікті желідегі пайдаланушы үшін және туннельдегі пайдаланушы үшін басқаша әрекет етуі мүмкін.
Екі порт және оларды бекітетін екі қасиет
Тізілім порты com.sun.management.jmxremote.port параметрінен келеді, ал коннекторды стек бөлетін мәнге қалдырмай, com.sun.management.jmxremote.rmi.port арқылы бекітуге болады. Клиент пен сервер арасында firewall немесе қауіпсіздік тобы болса, екеуін де анық орнатыңыз, өйткені болжамсыз екінші портқа алдын ала рұқсат беру мүмкін емес, ал оны қанағаттандыру үшін ашылатын кең диапазон бір мәнді бекітуден нашар.
Содан кейін серверде ss -ltn немесе netstat -an арқылы екі порттың да тыңдап тұрғанын және қандай мекенжайларда екенін растаңыз. Loopback-ке байланған тыңдаушы тек жергілікті орналастыру үшін дұрыс және бұл үшін пайдасыз.
Жарияланған атау қате болғанда
Қашықтағы сілтемедегі хост атауын java.rmi.server.hostname орнатады. Ол stub-тың нені жариялайтынына әсер етеді; өздігінен әр тыңдаушыны бір интерфейске байлау нұсқауы емес, сондықтан оны орнату әрқашан күтілетін бір порттық мінез-құлықты бермейді. Оны орнатыңыз, процесті қайта іске қосыңыз, содан кейін stub-тың шын мәнінде нені қамтитынын тексеріңіз. Клиент шеше алатын және туннель арқылы жете алатын атау немесе мекенжай таңдаңыз және stub қайта құрылуы үшін процесті қайта іске қосыңыз.
Контейнер желілері мұны нашарлатады, өйткені процесс көретін мекенжай контейнерден тыс ешбір нәрсе маршруттай алмайтын ішкі мекенжай болуы мүмкін. Платформаның таңдауына жол бермей, көзделген хост атауын анық жариялаңыз.
VPN орнына SSH арқылы туннель жасасаңыз, сол мәселе басқа киімде көрінеді: тек тізілім портын бағыттау екінші шеткі нүктені клиентіңіз жете алмайтын мекенжайға көрсетіп қалдырады. Екі портты да бағыттаңыз және жарияланған атаудың клиент жергілікті түрде жете алатын нәрсеге шешілуін қамтамасыз етіңіз.
Жеңілдету үшін басқару қауіпсіздігін өшірмеңіз
Аутентификацияны және TLS-ті өшіретін үзінділер оңай табылады және қосылымды кейін қайтаруға тура келетін жолмен істетеді. Қашықтағы JMX өзі тексеретін процесс сияқты құқықтарға ие басқару интерфейсі; оның қатынауды бақылау құралдарын сақтаңыз, ал клиент тіркелгі деректерін ұсына алмаса, дәл соны түзетіңіз.
Шеткі нүктелер дұрыс болғанда, көретін келесі қатені сақтап қойыңыз. Сенім қоймасының немесе тіркелгінің бас тартуы қолжетімсіз коннектордан кейінгі кезең және желі жұмысының біткенін білдіреді.