NSG logo
NSG heading
Сделано в России 
+7 495 727–19–59

Документы в формате PDF, архив (FTP) и Web-справка открываются в новом окне

Размер шрифта AAA

  

Требуется подключить банкомат с портом Ethernet к процессинговому серверу через двух сотовых операторов, с сохранением сессии при переходе с одного оператора на другого, и с минимальным временем переключения с канала на канал. Используется фирменная технология NSG uiTCP. В качестве клиента используется устройство NSG–1700 выпуска 2017 г. с двумя опциями opt.LTE/3G (в позициях m1 и m2, соответственно). Основной оператор Билайн, резервный — Мегафон. В качестве сервера используется устройство NSG–1000/GW, NSG–2031 или NSG–5260 (для построения опытной зоны из нескольких устройств достаточно NSG–1700 с такой же конфигурацией).

Бесперебойное подключение банкомата к процессинговому центру через операторов LTE/3G

Предварительные настройки:

  • SIM-карта основного оператора установлена в верхнее гнездо на лицевой панели
  • SIM-карта резервного оператора установлена в нижнее гнездо на лицевой панели
  • Запрос PIN-кода на SIM-картах отключён

Основные принципы настройки и отладки современных интерейсов LTE/3G в устройствах NSG см. в базовом примере.

Конфигурация туннеля:

Клиент
ip
: route
: : 1
: : : network = "8.8.8.8/32"
: : : device = "m1"
: : 2
: : : network = "8.8.4.4/32"
: : : device = "m2"
: filter
: : OUTPUT
: : : 1
: : : : destination = "8.8.8.8/32"
: : : : out-interface = "m2"
: : : : target = "DROP"
: : : 2
: : : : destination = "8.8.4.4/32"
: : : : out-interface = "m1"
: : : : target = "DROP"
port
: eth0
: : ifAddress
: : : prefix = "192.168.1.1/24"
: m1
: : type = "lte"
: : adm-state = "up" 
: : provider
: : : main
: : : : attempts = 1
: : : aux
: : : : attempts = 0
: m2
: : type = "lte"
: : adm-state = "up" 
: : ifAddress
: : : dhcp-options
: : : : default-gw-metric = 10
: : provider
: : : main
: : : : attempts = 0
: : : aux
: : : : attempts = 1
services
: netping
: : check_m1
: : : destination = "8.8.8.8"
: : : packets = 3
: : : timeout = 10
: : : retry = 1
: : : failure-script = "nsgsh -qr port.m1.restart=nil;"
: : check_m2
: : : destination = "8.8.4.4"
: : : packets = 3
: : : timeout = 10
: : : retry = 1
: : : failure-script = "nsgsh -qr port.m2.restart=nil"
system
: hostname = "ATM001"
: ntp
: : enable = true
Сервер
ip
: route
: : 1
: : : gateway = "123.45.67.90"
: : : network = "0.0.0.0/0"
port
: eth0
: : ifAddress
: : : prefix = "10.0.0.7/8"
: eth1
: : ifAddress
: : : prefix = "123.45.67.89/30"
system
: hostname = "uitcp_srv"
: ntp
: : enable = true
tunnel
: uitcp
: : configure
: : : mode = "server"
: : : clients
: : : : ATM001
: : : : : description = "Pr.Lenina,1"
: : enable = true
tunnel
: uitcp
: : configure
: : : tunnel
: : : : name = "ATM001"
: : : : description = "Pr.Lenina,1"
: : : : servers
: : : : : 1 = "123.45.67.89:50005"
: : : : keepalive = 10
: : : : links
: : : : : 1
: : : : : : description = "BEELINE"
: : : : : : dev = "m1"
: : : : : : restart
: : : : : : : 1
: : : : : : : : script = "nsgsh -qr .port.m1.restart=nil;
                          nsgsh -qf10 .services.netping(check_m1.adm-state=up check_m2.adm-state=down _apply);"
: : : : : 2
: : : : : : description = "MEFAGON"
: : : : : : dev = "m2"
: : : : : : restart
: : : : : : : 1
: : : : : : : : script = "nsgsh -qr .port.m2.restart=nil;
                          nsgsh -qf10 .services.netping(check_m1.adm-state=down check_m2.adm-state=up _apply);"
: : : : : priority = 300
: : enable = true

Предполагается, что ключи и сертификаты X.509 расположены в папках, установленных по умолчанию. Для генерации самоподписанных сертификатов можно воспользоваться скриптами cert-root, cert-server, cert-client имя.

Маршрут по умолчанию требуется для работы клиента NTP, поскольку адрес сервера NTP априори неизвестен. Служба NTP нужна для установки точного времени на устройствах, поскольку без установки времени сертификаты могут оказаться недействительными. Если воспользоваться ею нет возможности, то системное время на устройствах можно установить вручную командой .system.clock-set .

Конфигурация полезной нагрузки:

Предполагается, что для работы системы могут потребоваться до 3 TCP-соединений:

  • От банкомата к процессингу. На процессинге данный банкомат зарегистрирован под IP-адресом 10.0.1.1 и должен обращаться на порт TCP 20001; в то же время в типовой конфигурации всех банкоматов записаны адрес процессинга 192.168.1.1 и порт 20000.
  • От рабочей станции администратора в центральном офисе к банкомату по RDP ("удалённый рабочий стол Майкрософт") по адресу 10.0.0.7 (это сервер uiTCP) и номеру порта TCP 30001.
  • От рабочей станции администратора к устройству NSG по Telnet по адресу 10.0.0.7 и номеру порта TCP 40001.
Клиент
tunnel
: uitcp
: : configure
: : : tunnel
: : : : localListener
: : : : : 1
: : : : : : host = "192.168.1.1"
: : : : : : port = 20000
: : : : nat
: : : : : 1
: : : : : : inDstPort = 30001
: : : : : : outDstAddr = "192.168.1.2"
: : : : : : outDstPort = 3389
: : : : : 2
: : : : : : inDstPort = 40001
: : : : : : outDstAddr = "127.0.0.1"
: : : : : : outDstPort = 23
Сервер
tunnel
: uitcp
: : configure
: : : clients
: : : : ATM001
: : : : : nat
: : : : : : 1
: : : : : : : inDstPort = 20000
: : : : : : : outDstAddr = "10.0.0.1"
: : : : : : : outDstPort = 20001
: : : : : : : outSrcAddr = "10.0.1.1"
: : : : : localListener
: : : : : : 1
: : : : : : : host = "10.0.0.7"
: : : : : : : port = 30001
: : : : : : 2
: : : : : : : host = "10.0.0.7"
: : : : : : : port = 40001

Дополнительные замечания:

Мониторинг сотового канала с помощью netping требуется только в том случае, когда uiTCP работает по другому каналу. В текущем рабочем канале вместо него используется встроенный механизм keepalive. Для экономии трафика uiTCP включает на том или другом порту netping только тогда, когда переходит с него на другой порт, и одновременно выключает на новом.

Поскольку изменение параметра adm-state требует прав администратора, то утилита nsgsh вызывается с ключом -f и таймаутом 10 секунд. Это позволяет разрешить конфликт, если в то жес самое время на устройстве работает другой администратор.

В локальном соединении между сервером uiTCP и процессингом IP-адрес источника (адрес, по которому процессинг видит банкомат) и/или TCP-порт назначения (на процессинге) могут быть как одинаковыми для всех банкоматов, так и уникальными, в зависимости от возможностей и настроек программного обеспечения процессинга. (Если одинаково то и другое, то процессинг всё равно имеет возможность различать входящие соединения по номеру TCP-порта источника, который всегда выбирается системой автоматически, уникальным образом.) IP-адреса источника могут как принадлежать к той же подсети, что и процессинговый сервер (10.0.0.0/8), так и не принадлежать ей; в последнем случае на процессинге должен быть задан маршрут на эти адреса (или по умолчанию) через сервер uiTCP (10.0.0.7).

В случае, если одна или обе стороны контролируют наличие соединения с помощью TCP keepalive, следует дополнительно включить генерацию TCP keepalive на той стороне, которая их ожидает, например:

tunnel
....................
: : : : : nat
: : : : : : 1
: : : : : : : tcpKeepaliveInterval = 300
: : : : : : : tcpkeepaliveRetry = 3

или, соответственно

....................
: : : : : localListener
: : : : : : 1
: : : : : : : tcpKeepaliveInterval = 300
: : : : : : : tcpkeepaliveRetry = 3

© ООО "ЭН–ЭС–ДЖИ" 2004–2019Web-master