Как открыть локальный веб-сайт apache для всего мира? [закрыто]

Я пытаюсь включить доступ к HTTP-порту извне моей сети. В настоящее время у меня есть общедоступный IP-адрес от моего интернет-провайдера.

Нужно ли мне настраивать это с помощью 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

Я также приглашаю вас проверьте другой пост: -) https://askubuntu.com/questions/574726/problem-with-package-phpmyadmin-error-when-trying-to-create-table-in-phpmyadmi

-1
задан 13 April 2017 в 05:23

1 ответ

Вам не связали общедоступный IP с интерфейсом машины, выполняющей веб-сервер. Это на самом деле настроено на Вашем маршрутизаторе. Так как это делает Сетевой перевод адреса (NAT), никакие новые внешние соединения этой общественности не достигнут Ваших внутренних машин по умолчанию.

Необходимо будет сделать 2 вещи сделать эту работу:

  1. Позвольте входящий HTTP [S] соединения с машиной, выполняющей веб-сервер.

.

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

Это открывает и порт, 80/tcp и 443/tcp для входящих соединений. От Вашего вопроса похоже, что Вы не выполняете брандмауэр вообще - я рекомендую изучить его раньше, чем позже.

  1. Вам также будет нужно к портам передачи (80 и 443, если Вы желаете) с маршрутизатора на машину, выполняющую веб-сервер (в дополнение к 2 правилам netfilter выше).

Я не знаю, какой маршрутизатор Вы имеете, но это должно помочь:

  • Внешний IP: Ваш общедоступный IP
  • Внешний порт: 80/tcp
  • Внутренний IP: 192.168.0.101
  • Внутренний порт: 80/tcp

Если после выполнения этого у Вас все еще есть проблемы, отправьте вывод

sudo iptables -vL -n
sudo ss -nptl src :80
sudo ip addr list
sudo ip route
0
ответ дан 6 October 2019 в 04:22

Другие вопросы по тегам:

Похожие вопросы: