Назад | Перейти на главную страницу

Невозможно получить доступ к веб-приложению, развернутому на моем компьютере с Ubuntu 16.04, с других устройств / ноутбуков в домашней локальной сети

Я сделал 2 веб-приложения (изучаю основы веб-разработки). Один с использованием ruby-on-rails, а другой с использованием apache2.

Локальный IP-адрес моего ноутбука 192.168.122.1.

На моей машине работают следующие 2 URL: 1) Веб-приложение ROR -> http://192.168.122.1:3000 2) Приложение Apache2 -> http://192.168.122.1

Однако, когда я набираю те же URL-адреса на другом устройстве / компьютере в локальной сети, я получаю ERR_CONNECTION_REFUSED.

Когда я ввожу в терминал следующее: sudo nc -v 192.168.122.1 3000 , Я получаю сообщение Connection to 192.168.122.1 3000 port [tcp/*] succeeded!.

Я не думаю, что это проблема с rails или apache2, но это либо ошибка в ОС Ubuntu, либо есть что-то об открытии портов, чего я не понимаю. Я попытался открыть необходимые порты 80 и 3000 с помощью ufw, но не получил желаемых результатов. Я попытался полностью отключить брандмауэр (конечно, не очень хорошая практика), набрав sudo ufw disable. Но это не подействовало. Я все еще сталкиваюсь с той же проблемой.

Я использую Ubuntu 16.04. Я разработал базовое веб-приложение почти 4 года назад на Ubuntu 12.04, и никогда не сталкивался с такими проблемами.

Iptables:

umangmathur@Acer-Aspire-V3-571:~$ sudo iptables -L
[sudo] password for umangmathur: 
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:3000
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootps
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:bootps
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             192.168.122.0/24     ctstate RELATED,ESTABLISHED
ACCEPT     all  --  192.168.122.0/24     anywhere            
ACCEPT     all  --  anywhere             anywhere            
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootpc

Ifconfig:

umangmathur@Acer-Aspire-V3-571:~$ ifconfig
enp2s0f0  Link encap:Ethernet  HWaddr b8:88:e3:0b:04:c4  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:16 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:15396 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15396 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1646030 (1.6 MB)  TX bytes:1646030 (1.6 MB)

virbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlp3s0    Link encap:Ethernet  HWaddr 08:3e:8e:2a:10:81  
          inet addr:192.168.43.129  Bcast:192.168.43.255  Mask:255.255.255.0
          inet6 addr: fe80::99e9:db42:eceb:a526/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:544441 errors:0 dropped:0 overruns:0 frame:0
          TX packets:302249 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:710738799 (710.7 MB)  TX bytes:46367641 (46.3 MB)

Список портов прослушивания (с использованием netstat):

umangmathur@Acer-Aspire-V3-571:~$ sudo netstat -patune | grep LISTEN
[sudo] password for umangmathur: 
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      123        23438       1110/mysqld     
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      0          31251       2361/smbd       
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      0          26992       1508/dnsmasq    
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      0          27672       1406/dnsmasq    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          233420      1082/sshd       
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      0          23217       923/cupsd       
tcp        0      0 192.168.122.1:3000      0.0.0.0:*               LISTEN      1000       71774       4678/192.168.122.1:
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      0          31250       2361/smbd       
tcp6       0      0 :::139                  :::*                    LISTEN      0          31249       2361/smbd       
tcp6       0      0 :::80                   :::*                    LISTEN      0          28945       1861/apache2    
tcp6       0      0 :::22                   :::*                    LISTEN      0          233422      1082/sshd       
tcp6       0      0 ::1:631                 :::*                    LISTEN      0          23216       923/cupsd       
tcp6       0      0 :::445                  :::*                    LISTEN      0          31248       2361/smbd       

Похоже, ваши приложения слушают virbr0, и это интерфейс виртуального моста, используемый для NAT в некоторых виртуализированных средах.

Если вы работаете на своем физическом компьютере, приложения должны связываться с 192.168.43.129 или чтобы 0.0.0.0.

Если вы работаете в среде виртуализации (VirtualBox, Qemu, VMWare), вам нужно будет создать интерфейс моста или создать правило перенаправления порта.

IP вашего ноутбука на самом деле:

wlp3s0    Link encap:Ethernet  HWaddr 08:3e:8e:2a:10:81  
      inet addr:192.168.43.129  Bcast:192.168.43.255  Mask:255.255.255.0
      inet6 addr: fe80::99e9:db42:eceb:a526/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:544441 errors:0 dropped:0 overruns:0 frame:0
      TX packets:302249 errors:0 dropped:0 overruns:0 carrier:0

Посмотрите на пакеты RX и TX.