При попытке подключиться к порту 7077 к искровому кластеру через pyspark в Python я получаю Ошибка подключения
.
Запуск nmap server_ip
с моего локального компьютера (Ubuntu 20.04) показывает 4 открытых порта (80, 8080, 22, 9000)
Запуск nc -zv server_ip 7077
дает результат:
nc: connect to server_ip port 7077 (tcp) failed: Connection refused
Затем я ssh на sles-сервер (должен быть подключен к VPN) и запускаю следующую команду:
ss -tulw
. Команда дает следующий вывод для порта 7077:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 *:7077 *:*
Если я правильно понимаю, это означает, что порт 7077 открыт для любого адреса.
Почему я получаю Ошибка подключения
?
Нет брандмауэра для порта 7077 в VPN-подключении.
Изменить:
Вывод из iptables -L
:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:7077
ACCEPT tcp -- anywhere anywhere tcp dpt:7077
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DOCKER-USER all -- anywhere anywhere
DOCKER-INGRESS all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
DROP all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain DOCKER (2 references)
target prot opt source destination
ACCEPT tcp -- anywhere another_ip tcp dpt:9870
ACCEPT tcp -- anywhere another_ip tcp dpt:cslistener
ACCEPT tcp -- anywhere another_ip tcp dpt:7077
Chain DOCKER-INGRESS (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:http-alt
ACCEPT tcp -- anywhere anywhere state RELATED,ESTABLISHED tcp spt:http-alt
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere state RELATED,ESTABLISHED tcp spt:http
RETURN all -- anywhere anywhere
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target prot opt source destination
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
RETURN all -- anywhere anywhere
Chain DOCKER-ISOLATION-STAGE-2 (2 references)
target prot opt source destination
DROP all -- anywhere anywhere
DROP all -- anywhere anywhere
RETURN all -- anywhere anywhere
Chain DOCKER-USER (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Похоже, локальный брандмауэр на целевой машине не разрешает входящие подключения через TCP-порт 7077.
Это должно решить проблему:
iptables -A INPUT -p tcp --dport 7077 -j ACCEPT
В зависимости от существующих правил вам может понадобиться использовать -I
вместо -A
:
iptables -I INPUT -p tcp --dport 7077 -j ACCEPT