Я пытаюсь включить доступ к 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
Вам не связали общедоступный IP с интерфейсом машины, выполняющей веб-сервер. Это на самом деле настроено на Вашем маршрутизаторе. Так как это делает Сетевой перевод адреса (NAT), никакие новые внешние соединения этой общественности не достигнут Ваших внутренних машин по умолчанию.
Необходимо будет сделать 2 вещи сделать эту работу:
.
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT
Это открывает и порт, 80/tcp и 443/tcp для входящих соединений. От Вашего вопроса похоже, что Вы не выполняете брандмауэр вообще - я рекомендую изучить его раньше, чем позже.
Я не знаю, какой маршрутизатор Вы имеете, но это должно помочь:
Если после выполнения этого у Вас все еще есть проблемы, отправьте вывод
sudo iptables -vL -n
sudo ss -nptl src :80
sudo ip addr list
sudo ip route