0

I am using Oracle VM VirtualBox and running a CentOS 7 instance on it. I have setup two network adapters for this machine. One is set in Host Only mode and the other one is in NAT mode. I am able to SSH to the VM. Now I am also running a web server on this VM and want to access it in the same way. But it's not working this way. I tried with other rules also- Port 3000 on Host, Port 80 on Guest.

Port 12000 on Host, Port 80 on Guest.

With same IP on Host:3000 on host and with exact IP:Port on Guest.

Without IP and port 3000 on host and with exact IP:Port on Guest.

It's not working. I am able to ping too from the host to the VM and vice versa. I have tested the Apache HTTPD configuration inside the VM- Server is UP.

I used Lynx to access the site and that too is working but only within the VM. Not from outside the Machine or the Host OS.

Host to Guest PING Output-

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

Guest Network Connections-

[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

Curl from within the 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.

Here is the CentOS VM's iptables configuration-

[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

Here is the CentOS VM's Netstat Output-

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

My Port Forwarding Rules are as follows-

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

Here is the Netstat response of my Host Windows Machine-

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

TCPDUMP Captured Packets while making request from Host to Guest URL-

[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

Please help anyone. I am trying to make work something really crucial here and this is a very stupid situation where I am struck in the networking only.

Help guys.

Thanks phsita.

  • I'd suggest you to check firewalls on both host and guest that might be the reason you cannot get through – Tagwint May 24 '17 at 12:11
  • I did checked the Windows Advanced Firewall on the host and added allow all for the Oracle VirtualBox Application. Still not worked. – phsita May 29 '17 at 11:42
0

Actually it was the firewall itself which was blocking.

Although I did added the rule in the INPUT Chain for TCP Port 80, but still due to the extensive default configuration of iptables in the CentOS 7, some rule of some other Chain was blocking the traffic from VM to Outside.

I just tried by stopping the firewalld and it is now working.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.