Iptables non funziona


0

Ciao in virtualbox ho installato Debian 8 e la mia applicazione Web che è in esecuzione sulla porta 8000. Rete Virtualbox Ho nelle impostazioni di rete un bridge adattatore e posso collegarmi via ssh dal mio computer. Virtualbox ha l'indirizzo IP: 192.168.88.65 Il mio computer ha l'indirizzo IP: 192.168.88.51 È in un sito.

Vorrei avere accesso alla mia app Web dal mio computer sulla porta 8000. Ma quando eseguo nmap sul mio computer vedo solo queste porte:

Nmap scan report for test (192.168.88.65)
Host is up (0.0023s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
111/tcp  open  rpcbind
3306/tcp open  mysql

ma nel computer virtualbox è:

Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000030s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 996 closed ports
PORT     STATE SERVICE
25/tcp   open  smtp
111/tcp  open  rpcbind
3306/tcp open  mysql
8000/tcp open  http-alt

Come posso vedere la porta 8000 dal mio computer ??

Sto provando a eseguire questi comandi in virtualbox ma non funziona:

root @ debian /root ### iptables -I INPUT -p tcp --dport 8000 -j ACCEPT
root @ debian /root ### iptables-save

# Generated by iptables-save v1.4.21 on Mon Mar  6 10:11:58 2017
*filter
:INPUT ACCEPT [57:123601]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [44:124193]
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8000 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
COMMIT
# Completed on Mon Mar  6 10:11:58 2017

Fornire l'output di netstat -tlpn.
Daniel B,

Risposte:


0

Le iptablesregole che hai inserito sono ridondanti perché, come iptables-savemostra l'output del tuo comando, lo INPUTè la politica ACCEPT, quindi sarà consentita qualsiasi connessione.

Potrei sbagliarmi, ma il mio sospetto è che dal momento che stai usando un adattatore a ponte, è soggetto alle regole del firewall sul tuo computer host e non ti consente di raggiungere la tua porta di destinazione.

A meno che non sia assolutamente necessario un adattatore a ponte all'interno della VM, consiglierei di passare a NAT e di utilizzare semplicemente la funzionalità di port forwarding di VirtualBox.

Sotto Settings > Network > Adapter 1

Modificare il campo "Attaccato a" in NAT.

In "Avanzate", premi il pulsante "Port Forwarding" e aggiungi una voce:

Name: http (or any name you want)
Protocol: TCP
Host IP: (blank)
Host Port: 8888 (or any port you want)
Guest IP: (blank)
Guest Port: 8000 (match your web app port)

È quindi possibile avviare la macchina virtuale (guest) e quindi dal computer host, aprire un browser e accedere all'app Web accedendo all'endpoint di seguito (aggiungendo qualsiasi percorso necessario).

localhost:8888

Per comodità, se il tuo computer host è basato su UNIX, puoi aggiungere una linea /etc/hostscome questa:

127.0.0.1 myapp.com

Quindi puoi usare:

myapp.com:8888

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.