NSG logo
NSG heading

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

Требуется подключить банкомат с портом Ethernet к процессинговому серверу через двух операторов GSM/3G, с сохранением сессии при переходе с одного оператора на другого, и с минимальной стоимостью решения. Используется фирменная технология NSG uiTCP. В качестве клиента используется устройство NSG1820–MC с опцией 3G. Основной оператор МТС (верхняя SIM-карта), резервный — Билайн (нижняя). В качестве сервера используется устройство NSG–1000/GW (для построения опытной зоны из нескольких устройств достаточно NSG1820–MC с такой же конфигурацией).

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

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

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

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

Клиент
port
: eth0
: : ifAddress
: : : prefix = "192.168.1.1/24"
: m1
: : type = "3g"
: : adm-state = "up"
: : ppp
: : : main
: : : : attempts = 1
: : : : chat
: : : : : APN = "internet.mts.ru"
: : : : default-route = true
: : : : sent-username = "mts"
: : : : sent-password = "mts"
: : : aux
: : : : attempts = 0
: : : : chat
: : : : : APN = "internet.beeline.ru"
: : : : default-route = true
: : : : sent-username = "beeline"
: : : : sent-password = "beeline"
system
: hostname = "ATM001"
: ntp
: : enable = true
: : host = "ru.pool.ntp.org"
tunnel
: uitcp
: : configure
: : : tunnel
: : : : name = "ATM001"
: : : : description = "Pr.Lenina,1"
: : : : servers
: : : : : 1 = "123.45.67.89:50005"
: : : : keepalive = 10
: : : : links
: : : : : 1
: : : : : : dev	= "m1"
: : : : : : restart
: : : : : : : 1
: : : : : : : : description = "BEELINE"
: : : : : : : : script = "nsgsh -q .port.m1.restart.aux"
: : : : : : : 2
: : : : : : : : description = "MTS"
: : : : : : : : script = "nsgsh -q .port.m1.restart.main"
Сервер
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
: : host = "ru.pool.ntp.org"
tunnel
: uitcp
: : configure
: : : mode = "server"
: : : clients
: : : : ATM001
: : : : : description = "Pr.Lenina,1"

Предполагается, что ключи и сертификаты 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

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

В локальном соединении между сервером 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–2017 Web-master