Estou executando o Apache2 no Ubuntu 20.04 e meu servidor pode ser acessado de todos os dispositivos conectados ao meu roteador WIFI (incluindo telefones e laptops). Este é o que é renderizado quando meu servidor é acessado. Agora quero acessar meu servidor pela Internet.
Esta é a saída da rota -n
frozenmafia@frozenmafia-H81M-S:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 wlxd03745b828ea
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlxd03745b828ea
192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 wlxd03745b828ea
Esta é a saída do ifconfig
frozenmafia@frozenmafia-H81M-S:~$ ifconfig
enp3s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 40:8d:5c:a5:eb:f9 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 5856 bytes 572976 (572.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5856 bytes 572976 (572.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlxd03745b828ea: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.39 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::2970:d411:fb39:7ff6 prefixlen 64 scopeid 0x20<link>
ether d0:37:45:b8:28:ea txqueuelen 1000 (Ethernet)
RX packets 388866 bytes 507534243 (507.5 MB)
RX errors 0 dropped 2905 overruns 0 frame 0
TX packets 263147 bytes 67686494 (67.6 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Esta é a saída do status ufw
frozenmafia@frozenmafia-H81M-S:~$ sudo ufw status
Status: active
To Action From
-- ------ ----
Apache Full ALLOW Anywhere
8080 ALLOW Anywhere
80/tcp ALLOW Anywhere
Apache Full (v6) ALLOW Anywhere (v6)
8080 (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
Esta é a saída de sudo netstat -tlpn
frozenmafia@frozenmafia-H81M-S:~$ sudo netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 706/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 975/sshd: /usr/sbin
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 938/cupsd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 2201/smbd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 2201/smbd
tcp6 0 0 :::80 :::* LISTEN 1045/apache2
tcp6 0 0 :::22 :::* LISTEN 975/sshd: /usr/sbin
tcp6 0 0 ::1:631 :::* LISTEN 938/cupsd
tcp6 0 0 :::445 :::* LISTEN 2201/smbd
tcp6 0 0 :::139 :::* LISTEN 2201/smbd
Para tornar minha máquina pública preciso fazer o encaminhamento de porta. Para isso eu estaria configurando meu roteador WIFI. Eu fiz assim.
Eu acreditava que isso deveria ser suficiente para tornar minha máquina pública. Eu testei aqui. Está mostrando que minha porta está fechada.
Agora, pensei em usar o iptables para fazer o encaminhamento de porta. Eu segui este tutorial e digitei os seguintes comandos.
frozenmafia@frozenmafia-H81M-S:~$ cat /proc/sys/net/ipv4/conf/wlxd03745b828ea/forwarding
1
frozenmafia@frozenmafia-H81M-S:~$ sudo iptables -t nat -A PREROUTING -p tcp -i wlxd03745b828ea --dport 80 -j DNAT --to-destination 192.168.1.39:80
frozenmafia@frozenmafia-H81M-S:~$ sudo iptables -A FORWARD -p tcp -d 192.168.1.39 --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
frozenmafia@frozenmafia-H81M-S:~$ ip route
default via 192.168.1.1 dev wlxd03745b828ea proto dhcp metric 600
169.254.0.0/16 dev wlxd03745b828ea scope link metric 1000
192.168.1.0/24 dev wlxd03745b828ea proto kernel scope link src 192.168.1.39 metric 600
Agora, acredito que tentei de tudo para tornar meu servidor público. Novamente testei a acessibilidade da minha máquina aqui, o que mostra minha falha.
Entrei em contato com meu ISP e confirmei que todas as portas estão abertas. Espero ter explicado e fundamentado tudo o que fiz. Seria ótimo se alguém me corrigisse e me desse uma solução para o meu problema. Agradecendo você
Como @FedonKadifeli, mencionei que tenho um CGNAT.Para tornar meu servidor público eu segui este usei ngork.Agora eu e meus amigos podemos acessar minha página.