Como abrir o site apache local para o mundo? [fechadas]

-1

Estou tentando ativar a porta HTTP para estar acessível de fora da minha rede. Atualmente tenho um IP público do meu provedor.

Preciso configurar isso usando o iptables?

sudo iptables -vL -n

Chain INPUT (policy ACCEPT 91728 packets, 101M bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 64927 packets, 5892K bytes)
 pkts bytes target     prot opt in     out     source               destination 

sudo ip addr list

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    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: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether f0:de:f1:11:03:95 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether f0:7b:cb:9f:c6:f2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.101/24 brd 192.168.0.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::f27b:cbff:fe9f:c6f2/64 scope link 
       valid_lft forever preferred_lft forever

sudo ss -nptl src: 80

State       Recv-Q Send-Q                                                                      Local Address:Port                                                                        Peer Address:Port 
LISTEN      0      128                                                                                    :::80                                                                                    :::*      users:(("apache2",1267,4),("apache2",1266,4),("apache2",1265,4),("apache2",1264,4),("apache2",1263,4),("apache2",1249,4))

sudo ip route

default via 192.168.0.1 dev wlan0  proto static 
192.168.0.0/24 dev wlan0  proto kernel  scope link  src 192.168.0.101  metric 9

Eu também convido você a conferir outro post :-) link

    
por linukser 15.01.2015 / 19:13

1 resposta

0

Você não tem o IP público vinculado a uma interface da máquina que está executando um servidor da web. Na verdade, está configurado no seu roteador. Como está fazendo o NAT (Network Adress Translation), nenhuma nova conexão externa com esse público chegará às suas máquinas internas por padrão.

Você precisará fazer duas coisas para que isso funcione:

  1. Permitir conexões HTTP [S] de entrada para a máquina que está executando o servidor da Web.

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT

Isso abre ambas as portas 80 / tcp e 443 / tcp para conexões de entrada. A partir da sua pergunta, parece que você não está executando um firewall - recomendo que você analise isso mais cedo ou mais tarde.

  1. Você também precisará encaminhar as portas (80 e 443, se desejar) do roteador para a máquina que está executando o servidor da web (além das 2 regras do netfilter acima).

Eu não sei qual roteador você tem, mas isso deve ajudar:

  • IP externo: seu IP público
  • Porta externa: 80 / tcp
  • IP interno: 192.168.0.101
  • Porta interna: 80 / tcp

Se depois de fazer isso você ainda tiver problemas, poste a saída

sudo iptables -vL -n
sudo ss -nptl src :80
sudo ip addr list
sudo ip route
    
por Marcin Kaminski 15.01.2015 / 19:29