Не могу открыть порт 8787 или 3939 на экземпляре Ubuntu EC2, но 22 и 80 открываются нормально - PullRequest
0 голосов
/ 02 апреля 2019

Я прочитал этот ответ , но для жизни я не могу понять это.

У меня есть экземпляр Ubuntu 18 EC2, на котором запущены RStudio Server и RStudio Connect, которые используют конфигурацию по умолчанию и прослушивают порты 8787 и 3939 соответственно.

Вот мои конфигурационные файлы:

ubuntu@EC2:~$ cat /etc/rstudio/rserver.conf
# Server Configuration File
#
#

ubuntu@EC2:~$ sudo cat /etc/rstudio-connect/rstudio-connect.gcfg
; RStudio Connect configuration file

[Server]
; SenderEmail is an email address used by RStudio Connect to send outbound
; email. The system will not be able to send administrative email until this
; setting is configured.
;   
; SenderEmail = account@company.com
SenderEmail = 

; Address is a public URL for this RStudio Connect server. Must be configured
; to enable features like including links to your content in emails. If
; Connect is deployed behind an HTTP proxy, this should be the URL for Connect
; in terms of that proxy.
;   
; Address = https://rstudio-connect.company.com
Address =

[HTTP]
; RStudio Connect will listen on this network address for HTTP connections.
Listen = :3939

[Authentication]
; Specifies the type of user authentication.
Provider = password

Вот что я пробовал:

  1. Созданы входящие правила для портов 8787, 3939 и всех портов TCP в моей группе безопасности. security-group

  2. Проверен сетевой ACL для подсети, в которой находится экземпляр network-acl

  3. Убедитесь, что rstudio-server и rstudio-connect работают и прослушивают все интерфейсы, а не только localhost

ubuntu@EC2:~$ netstat -ltpn
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:8787            0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::8787                 :::*                    LISTEN      -                   
tcp6       0      0 :::22                   :::*                    LISTEN      -                   
tcp6       0      0 :::3939                 :::*                    LISTEN      -
  1. Проверено, что UFW неактивен
ubuntu@EC2:~$ sudo ufw status
Status: inactive
  1. Создано правило iptables для порта 8787
ubuntu@EC2:~$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:8787

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

Я до сих пор не могу получить доступ к порту 8787 или 3939 извне. Однако я могу получить доступ к ним обоим на хосте, используя Lynx.

Если я изменю конфигурацию RStudio Server, чтобы вместо него использовать порт 80, я могу получить к нему внешний доступ, но он не работает для портов 8787 или 3939.

Есть идеи, почему и как это исправить?

1 Ответ

0 голосов
/ 02 апреля 2019

Я только сам разобрался с ответом.Там не было абсолютно ничего плохого в моей конфигурации.Открытие всех портов TCP в моей группе безопасности было немного излишним, может быть и совершенно ненужным, поэтому не делайте этого.

Проблема заключалась в том, что корпоративная сеть, к которой я подключен, блокирует исходящий трафик квнешние хосты на определенных нестандартных портах .

Если вы находитесь в одной лодке со мной и вам нужно разместить 2 сервиса на одном экземпляре EC2, но вы не знаете, какие порты недоступны / заблокированыв вашей организации вы можете использовать nmap и portquiz.net , чтобы выяснить это.

nmap - это сканер портов, а portquiz.net это служба, которая прослушивает соединения на всех TCP-портахВы можете сканировать хост, используя nmap, через диапазон TCP-портов, которые вы хотите использовать, и посмотреть, какие порты отображаются как открытые

nmap -v -p0-8000 portquiz.net
Starting Nmap 7.70 ( https://nmap.org ) at 2019-04-02 16:47 IST
Initiating Ping Scan at 16:47
Scanning portquiz.net (5.196.70.86) [2 ports]
Completed Ping Scan at 16:47, 0.13s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 16:47
Completed Parallel DNS resolution of 1 host. at 16:47, 0.14s elapsed
Initiating Connect Scan at 16:47
Scanning portquiz.net (5.196.70.86) [8001 ports]
Discovered open port 22/tcp on 5.196.70.86
Discovered open port 80/tcp on 5.196.70.86
Discovered open port 443/tcp on 5.196.70.86
Discovered open port 21/tcp on 5.196.70.86
Discovered open port 4080/tcp on 5.196.70.86
Completed Connect Scan at 16:48, 84.98s elapsed (8001 total ports)
Nmap scan report for portquiz.net (5.196.70.86)
Host is up (0.13s latency).
rDNS record for 5.196.70.86: electron.positon.org
Not shown: 7996 filtered ports
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
4080/tcp open  lorica-in

Здесь у меня есть 4080 и 80 открыто, поэтому корпоративный брандмауэр не блокирует исходящий трафик на эти порты.После настройки RStudio Server и RStudio Connect на прослушивание портов 80 и 4080 соответственно я теперь могу получить доступ к обеим службам извне.


...