5.3. Proxy

Утилита Proxy Utility позволяет в консоли (командной строке) запустить прокси-сервер с заданным в конфигурационном файле правилом, в соответствии с которым все входящие соединения на запущенный сервере перенаправляются (пробрасываются) на удаленный узел (компьютер), где должен быть запущен RobotNET Generic Proxy Service.

RobotNET Proxy Utility (v.0.9.*)

Providers ports forward to remote end-point.

Usage:
proxy.exe	/map:MAP [/refresh:SECS]
		[/lifetime:SECS] [/cycles:NUM] [/suppress]

Arguments:
/map:[MAP]		Proxy map name to create endpoint bridge // Наименование правила проброса сетевых пакетов
/refresh:[SECS]		Refresh interval (default 3 secs) // Интервал обновления цикла протоколирования работы
/lifetime:[SECS]	Proxy lifetime timeout (default is unlimited) // Время в секундах до прекращения работы приложения
/cycles:[NUM]		Proxy lifetime cycles (default is unlimited) // Количество циклов протоколирования до прекращения работы приложения
/suppress		Suppress proxy output // Подавление вывода циклов протоколирования

Пример запуск прокси-сервера для проброса сетевых пакетов по правилу SSH:

C:\>proxy.exe /map:SSH
Forwarding [SSH]...OK (0.254 ms)!
20:47:39 Sx=   0.00 B/   0.00 B/s Rx=   0.00 B/   0.00 B/s                 IDLE
20:47:43 Sx=   0.00 B/   0.00 B/s Rx=   0.00 B/   0.00 B/s                 IDLE
20:47:46 Sx=   0.00 B/   0.00 B/s Rx=   0.00 B/   0.00 B/s                 IDLE
20:47:49 Sx=   0.00 B/   0.00 B/s Rx=   0.00 B/   0.00 B/s                 IDLE
20:47:52 Sx=   2.75KB/ 937.00 B/s Rx=   4.02KB/   1.34KB/s                   OK
20:47:55 Sx=   2.92KB/  59.00 B/s Rx=   4.02KB/   0.00 B/s                   OK
20:47:58 Sx=   2.99KB/  21.00 B/s Rx=  10.83KB/   2.27KB/s                   OK
20:48:01 Sx=   4.02KB/ 351.00 B/s Rx=  12.96KB/ 728.00 B/s                   OK
20:48:04 Sx=   5.86KB/ 628.00 B/s Rx=  19.22KB/   2.08KB/s                   OK
20:48:07 Sx=   6.38KB/ 178.00 B/s Rx=  20.29KB/ 366.00 B/s                 IDLE
20:48:10 Sx=   6.38KB/   0.00 B/s Rx=  20.29KB/   0.00 B/s                 IDLE                  

Network statistics for [SSH]:
Packets: Sent = 1, Received = 0, Lost = 1 (100.00% loss)
Bytes: Sent =    6.38KB, Received =   20.29KB
Speed: Send =    6.38KB/s, Receive =   20.29KB/s
Approximate round trip times in milli-seconds:
Min = 0.000 ms, Max = 0.000 ms, Average = 0.000 ms

Для корректного работы прокси необходимо на исходной оконечной точке (компьютере) в конфигурационном файле config\proxy.xml настроить соответствующее правило, например:

<?xml version="1.0" encoding="utf-8"?>
<!-- Кастомизированные настройки прокси -->
<proxy>
	<SSH>
		<!-- Имя удаленного узла для проброски данных -->
		<forward>АДРЕС УДАЛЕННОЙ ОКОНЕЧНОЙ ТОЧКИ</forward>
		<!-- Пароль доступа к удаленнму узлу -->
		<pass>ПАРОЛЬ К УДАЛЕННОЙ ОКОНЕЧНОЙ ТОЧКЕ</pass>
		<!-- Триггер правила на удаленном узле -->
		<trigger>SSH</trigger>
		<!-- Настройки локального сервера для приема передаваемых данных от стороннего клиента -->
		<transport0 ref0="~~~config/transport/tcp-proxy/server">
			<!-- Адрес локального сервера -->
			<bind-host>localhost</bind-host>
			<!-- Порт на локальном сервере -->
			<bind-port>ЛОКАЛЬНЫЙ ПОРТ</bind-port>
		</transport0>
	</SSH>
</proxy>

На удаленном узле необходимо, чтобы был запущен прокси-сервис RobotNET Generic Proxy Service, а конфигурационный файл config\gproxy.xml был настроен на правило, например:

<?xml version="1.0" encoding="utf-8"?>
<!-- Кастомизированные настройки прокси сервера -->
<proxy>
	<!-- Перечень правил проброски данных -->	
	<SSH>
		<!-- Настройки клиента на удаленном узле для передачи на сторонний сервер -->
		<transport0 ref0="~~~config/transport/tcp-proxy/client">
			<!-- Адрес стороннего сервера -->
			<bind-host>IP АДРЕС ВНЕШНЕГО СЕРВИСА</bind-host>
			<!-- Порт на стороннем сервере -->
			<bind-port>ПОРТ ВНЕШНЕГО СЕРВИСА</bind-port>
		</transport0>
	</SSH>
</proxy>