Problema ao executar um servidor da web no Oracle VM Virtualbox com o Port Forwarding

0

Estou usando o Oracle VM VirtualBox e executando uma instância do CentOS 7 nele. Eu configurei dois adaptadores de rede para esta máquina. Um é definido no modo Somente host e o outro no modo NAT. Eu sou capaz de SSH para a VM. Agora também estou executando um servidor da Web nesta VM e quero acessá-lo da mesma maneira. Mas não está funcionando dessa maneira. Eu tentei com outras regras também Port 3000 no Host, Port 80 no Guest.

Porta 12000 no host, porta 80 no convidado.

Com o mesmo IP no Host: 3000 no host e com o IP exato: Port on Guest.

Sem IP e porta 3000 no host e com o IP exato: Port on Guest.

Não está funcionando. Eu sou capaz de ping também do host para a VM e vice-versa. Eu testei a configuração do Apache HTTPD dentro do VM- O servidor está na posição UP.

Eu usei o Lynx para acessar o site e isso também está funcionando, mas apenas dentro da VM. Não de fora da máquina ou do sistema operacional host.

Saída de PING do convidado para convidado -

C:\Users\apandey>ping 192.168.56.101

Pinging 192.168.56.101 with 32 bytes of data:
Reply from 192.168.56.101: bytes=32 time<1ms TTL=64
Reply from 192.168.56.101: bytes=32 time<1ms TTL=64
Reply from 192.168.56.101: bytes=32 time=1ms TTL=64
Reply from 192.168.56.101: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.56.101:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 1ms, Average = 0ms

Conexões de rede de convidados -

[root@phsita phsita_]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:35:35:5b brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
       valid_lft 63341sec preferred_lft 63341sec
    inet6 fe80::a49c:d796:6e85:93a3/64 scope link
       valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:fa:0c:03 brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.101/24 brd 192.168.56.255 scope global enp0s8
       valid_lft forever preferred_lft forever
    inet6 fe80::552d:c3b3:245a:ca7d/64 scope link
       valid_lft forever preferred_lft forever

Enrolamento de dentro do Guest -

[root@phsita phsita_]# cat /var/www/html/index.html
It worked. This is a test page running on Apache HTTPD.
[root@phsita phsita_]# curl localhost
It worked. This is a test page running on Apache HTTPD.

Aqui está a configuração do iptables da VM do CentOS -

[root@phsita phsita_]# iptables -L -n

Chain INPUT (policy ACCEPT)    
target     prot opt source               destination    
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED    
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0    
INPUT_direct  all  --  0.0.0.0/0            0.0.0.0/0    
INPUT_ZONES_SOURCE  all  --  0.0.0.0/0            0.0.0.0/0   
INPUT_ZONES  all  --  0.0.0.0/0            0.0.0.0/0    
DROP       all  --  0.0.0.0/0            0.0.0.0/0            ctstate INVALID   
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited    
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80    

Chain FORWARD (policy ACCEPT)    
target     prot opt source               destination    
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED    
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0    
FORWARD_direct  all  --  0.0.0.0/0            0.0.0.0/0    
FORWARD_IN_ZONES_SOURCE  all  --  0.0.0.0/0            0.0.0.0/0    
FORWARD_IN_ZONES  all  --  0.0.0.0/0            0.0.0.0/0    
FORWARD_OUT_ZONES_SOURCE  all  --  0.0.0.0/0            0.0.0.0/0    
FORWARD_OUT_ZONES  all  --  0.0.0.0/0            0.0.0.0/0    
DROP       all  --  0.0.0.0/0            0.0.0.0/0            ctstate INVALID    
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited    

Chain OUTPUT (policy ACCEPT)    
target     prot opt source               destination    
OUTPUT_direct  all  --  0.0.0.0/0            0.0.0.0/0

Aqui está a saída Netstat da VM do CentOS -

Active Internet connections (servers and established)    
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      5777/httpd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1059/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1379/master
tcp        0      0 0.0.0.0:5666            0.0.0.0:*               LISTEN      6702/nrpe   
tcp        0      0 192.168.56.101:22       192.168.56.1:50997      ESTABLISHED 8059/sshd: root@not   
tcp        0     36 192.168.56.101:22       192.168.56.1:50996      ESTABLISHED 8054/sshd: root@pts   
tcp6       0      0 :::22                   :::*                    LISTEN      1059/sshd   
tcp6       0      0 ::1:25                  :::*                    LISTEN      1379/master   
tcp6       0      0 :::5666                 :::*                    LISTEN      6702/nrpe 
udp        0      0 127.0.0.1:323           0.0.0.0:*                           619/chronyd   
udp      768      0 10.0.2.15:42450         10.100.1.21:53          ESTABLISHED 9559/ping   
udp        0      0 0.0.0.0:15961           0.0.0.0:*                           8008/dhclient   
udp        0      0 0.0.0.0:68              0.0.0.0:*                           8008/dhclient   
udp6       0      0 ::1:323                 :::*                                619/chronyd   
udp6       0      0 :::9882                 :::*                                8008/dhclient

Minhas Regras de encaminhamento de porta são as seguintes -

Name     Protocol Host IP  Host Port    Guest IP  Guest Port
HTTPD        TCP                50000                   80
SSHD Rule    TCP                 2222                   22

Aqui está a resposta do Netstat da minha Máquina Windows Host -

C:\Windows\system32>netstat -antb | findstr 50000
  TCP    0.0.0.0:50000          0.0.0.0:0              LISTENING

TCPDUMP Captured Packets ao fazer uma solicitação do Host ao URL do convidado -

[root@phsita phsita_]# tcpdump -v -i enp0s8 port 80
tcpdump: listening on enp0s8, link-type EN10MB (Ethernet), capture size 65535 bytes
17:08:00.255009 IP (tos 0x0, ttl 128, id 8851, offset 0, flags [DF], proto TCP (6), length 52)
    82693-t430.corp.abc.com.58114 > phsita.http: Flags [S], cksum 0xca36 (correct), seq 2879587372, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
17:08:00.505569 IP (tos 0x0, ttl 128, id 8853, offset 0, flags [DF], proto TCP (6), length 52)
    82693-t430.corp.abc.com.58115 > phsita.http: Flags [S], cksum 0xc579 (correct), seq 1429233499, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
17:08:03.254847 IP (tos 0x0, ttl 128, id 8855, offset 0, flags [DF], proto TCP (6), length 52)
    82693-t430.corp.abc.com.58114 > phsita.http: Flags [S], cksum 0xca36 (correct), seq 2879587372, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
17:08:03.505192 IP (tos 0x0, ttl 128, id 8857, offset 0, flags [DF], proto TCP (6), length 52)
    82693-t430.corp.abc.com.58115 > phsita.http: Flags [S], cksum 0xc579 (correct), seq 1429233499, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
17:08:09.255273 IP (tos 0x0, ttl 128, id 8859, offset 0, flags [DF], proto TCP (6), length 48)
    82693-t430.corp.abc.com.58114 > phsita.http: Flags [S], cksum 0xde45 (correct), seq 2879587372, win 8192, options [mss 1460,nop,nop,sackOK], length 0
17:08:09.505718 IP (tos 0x0, ttl 128, id 8861, offset 0, flags [DF], proto TCP (6), length 48)
    82693-t430.corp.abc.com.58115 > phsita.http: Flags [S], cksum 0xd988 (correct), seq 1429233499, win 8192, options [mss 1460,nop,nop,sackOK], length 0
17:08:21.507198 IP (tos 0x0, ttl 128, id 8863, offset 0, flags [DF], proto TCP (6), length 52)
    82693-t430.corp.abc.com.58119 > phsita.http: Flags [S], cksum 0x9a4d (correct), seq 4194231732, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
17:08:24.507418 IP (tos 0x0, ttl 128, id 8865, offset 0, flags [DF], proto TCP (6), length 52)
    82693-t430.corp.abc.com.58119 > phsita.http: Flags [S], cksum 0x9a4d (correct), seq 4194231732, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
17:08:30.507292 IP (tos 0x0, ttl 128, id 8867, offset 0, flags [DF], proto TCP (6), length 48)
    82693-t430.corp.abc.com.58119 > phsita.http: Flags [S], cksum 0xae5c (correct), seq 4194231732, win 8192, options [mss 1460,nop,nop,sackOK], length 0

Por favor, ajude alguém. Eu estou tentando fazer do trabalho algo realmente crucial aqui e esta é uma situação muito estúpida, onde eu sou atingido apenas em redes.

Ajude os rapazes.

Obrigado phsita.

    
por phsita 24.05.2017 / 10:40

1 resposta

0

Na verdade, foi o próprio firewall que estava bloqueando.

Embora eu tenha adicionado a regra no INPUT Chain para TCP Port 80, mas ainda devido à extensa configuração padrão do iptables no CentOS 7, algumas regras de alguns outros Chain estavam bloqueando o tráfego da VM para o Outside.

Eu apenas tentei parar o firewalld e agora está funcionando.

    
por 30.05.2017 / 11:17