Здравствуйте! Столкнулся с проблемой отображения сетевых подключений/открытых сокетов через SSH.
Вступление. На свой сервер поставил пакет shadowsocks-libev
, настроил файл config.json
. На Android поставил приложение Shadowsocks, на IOS - Potatso. На двоих устройствах успешно настроил подключение, всё работает, выходят в интернет через IP адрес моего сервера.
Основная часть. Через команду ss -a | grep 62.217.XXX.XX:777
вывел список подключений к IP моего сервера через PROXY. Порт указан из файла config.json
, о котором говорил выше.
Соответственно, при подключении двух устройств (Android и IOS), отражаются два IP адреса.
Когда отключаю устройство на Android от PROXY, моё TCP соединение пропадает через 1 мин примерно, а при отключении устройства на IOS ничего не происходит, точнее IP адрес этого устройства висит всё время в Peer Address (state ESTAB), хотя должен пропасть. В интернет оно выходит уже с другим IP, проверял, а соединение всё висит.
Вообще не могу понять, в чем причина. Для моих задач, для вывода уникальных IP устройств, подключенных через PROXY, без портов, использую команду: ss -a | grep 62.217.XXX.XX:777 | grep -v 0.0.0.0 | sed 's|.*:777||' | sed -r 's/:.+//' | sort -u | sed s/' '//g
.
(т.е. мы сначала отбираем все строки с IP адресом сервера и портом, который установлен для соединения через прокси, дальше убирает строки у которых в Peer Address 0.0.0.0, они не нужны, затем оставляем от порта нашего сервера всю правую часть с колонкой Peer Address, ну и отсекаем у IP пользователей порты. А т.к. IP дублируются, делаем sort -u и удаляем пробелы у строки).
Но при отключенном VPN на IOS, IP адрес этого устройства не исчезает из SS -a. Помогите разобраться в проблеме пожалуйста.