Não consigo entrar no meu servidor local

0

Estou tentando instalar o LAMP agora mesmo.

No manual, disse que se eu tivesse instalado o Apache, eu poderia ir em http://local_server_IP . E são dados 2 comandos para obtê-lo:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

quando eu corri disse que eu não tenho um dispositivo como eth0 , eu descobri, que minha interface Ethernet é chamada enp4s0 e correu:

ip addr show enp4s0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

e não retorna nada. O segundo comando foi:

curl http://icanhazip.com

funciona e devolve 2a02:2168:858:8001:0:0:0:5 , não é o valor correcto, não consigo correr servidor

http://2a02:2168:858:8001:0:0:0:5

Então eu achei que precisava do IPv4, então encontrei meu IPv4 com o site - 46.242.14.149 , eu verifiquei isto:

http://46.242.14.149

Está "carregando" por muito tempo e não consegue encontrar a página. Então eu ficaria muito feliz se você puder me mostrar o meu erro, obrigado pelo seu tempo :)

UPDATE:
Uma coisa tão estranha - agora curl http://icanhazip.com retorna 46.242.14.75 .

ip address output:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 44:8a:5b:f0:42:e2 brd ff:ff:ff:ff:ff:ff
3: wlp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 40:e2:30:0d:ea:31 brd ff:ff:ff:ff:ff:ff
    inet 10.234.179.135/19 brd 10.234.191.255 scope global dynamic wlp5s0
       valid_lft 859sec preferred_lft 859sec
    inet6 fe80::54e6:9989:422c:98f6/64 scope link 
       valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:d1:61:64:6e brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 scope global docker0
       valid_lft forever preferred_lft forever
5: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
6: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 52:54:00:93:96:3a brd ff:ff:ff:ff:ff:ff
    
por Dimak 04.12.2017 / 22:47

1 resposta

1

Primeiro, verifique quais endereços o servidor da Web está realmente ouvindo. Executar sudo netstat -an | grep :80 :

$ netstat -an | grep :80
tcp6       0      0 :::80                   :::*                    LISTEN     

Aqui eu tenho um servidor web, escutando na porta 80, exclusivamente no IPv6. Um servidor que atende no IPv4 teria o tcp em vez do tcp6, e seria 0.0.0.0:80 e 0.0.0.0:* , não :::80 e :::*

0.0.0.0 é um endereço mágico para cada interface IPv4 disponível, e :: é um endereço mágico para cada interface IPv6 disponível.

Em endereços ... você parece estar um pouco confuso com o endereço IPv6 que você tem: O IP 2a02: 2168: 858: 8001: 0: 0: 0: 5 é o seu endereço IPv6. Geralmente, o endereço IPv6 é global, ao contrário das redes IPv4, em que você normalmente emprega NAT para tráfego de saída, para mascarar seu endereço local. Mas, para usá-lo em um navegador, você precisa colocá-lo em [], então link deve funcionar, se o seu servidor estiver configurado para escutar no IPv6.

Para permitir o acesso externo ao IPv6, você provavelmente terá que permitir a porta 80 através do firewall em seu roteador de rede.

Em relação ao outro IP que você encontrou, 46.242.14.149, este provavelmente é o seu endereço IPv4 externo. Isso não pertence ao seu computador, mas ao seu roteador. Para poder acessar seu site por meio disso, você precisa configurar o encaminhamento de porta, do roteador para o computador. Leia o manual do seu roteador para saber como fazer isso.

Para mostrar qual IP a interface local realmente possui, o mais fácil é usar o comando ip address . A saída será semelhante ao seguinte:

$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether bc:ae:c5:09:5f:15 brd ff:ff:ff:ff:ff:ff
    inet 10.0.1.55/24 brd 10.0.1.255 scope global enp2s0
       valid_lft forever preferred_lft forever
    inet6 2001:4661:7f30:0:beae:c5ff:fe09:5f15/64 scope global mngtmpaddr dynamic 
       valid_lft 86400sec preferred_lft 14400sec
    inet6 fe80::beae:c5ff:fe09:5f15/64 scope link 
       valid_lft forever preferred_lft forever

Como podemos ver, tenho aqui uma NIC, enp2s0 , com um endereço IPv4 (inet) e um endereço IPv6 (inet6). Assim, o link deve funcionar neste caso - mas apenas na rede local.

Além disso, tenho um adaptador de loopback, lo , com o IPv4 127.0.0.1 e o IPv6 de :: 1. De fato, todo computador, quase independente do sistema operacional, tem esse endereço de loopback. Sempre se refere ao computador local. Assim, o link ou o link sempre se conectará ao local webserver, através da interface de loopback.

Os trechos de código que você inclui em sua pergunta essencialmente tentam analisar a saída de ifconfig para mostrar seu endereço IP. Isso pode ser útil em alguns cenários, mas quando você está simplesmente verificando o que é manualmente, é perda de tempo.

    
por vidarlo 05.12.2017 / 18:59