Ich verwende Oracle VM VirtualBox und führe darauf eine CentOS 7-Instanz aus. Ich habe zwei Netzwerkadapter für diese Maschine eingerichtet. Einer ist auf Host Only-Modus eingestellt und der andere auf NAT-Modus. Ich kann per SSH auf die VM zugreifen. Jetzt betreibe ich auf dieser VM auch einen Webserver und möchte auf dieselbe Weise darauf zugreifen. Aber so funktioniert es nicht. Ich habe es auch mit anderen Regeln versucht – Port 3000 auf Host, Port 80 auf Gast.
Port 12000 auf dem Host, Port 80 auf dem Gast.
Mit derselben IP auf Host:3000 auf dem Host und mit exakter IP:Port auf dem Gast.
Ohne IP und Port 3000 auf dem Host und mit exakter IP:Port auf dem Gast.
Es funktioniert nicht. Ich kann auch vom Host zur VM pingen und umgekehrt. Ich habe die Apache HTTPD-Konfiguration innerhalb des VM-Servers getestet, der aktiv ist.
Ich habe Lynx verwendet, um auf die Site zuzugreifen, und auch das funktioniert, allerdings nur innerhalb der VM. Nicht von außerhalb der Maschine oder des Host-Betriebssystems.
PING-Ausgabe vom Host zum Gast-
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
Gastnetzwerkverbindungen-
[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
Locken Sie aus dem Inneren des Gastes heraus.
[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.
Hier ist die iptables-Konfiguration der CentOS VM:
[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
Hier ist die Netstat-Ausgabe der CentOS-VM:
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
MeinPort-Weiterleitungsregelnsind wie folgt-
Name Protocol Host IP Host Port Guest IP Guest Port
HTTPD TCP 50000 80
SSHD Rule TCP 2222 22
Hier ist die Netstat-Antwort meiner Host-Windows-Maschine:
C:\Windows\system32>netstat -antb | findstr 50000
TCP 0.0.0.0:50000 0.0.0.0:0 LISTENING
TCPDUMP Erfasste Pakete bei Anfragen vom Host an die Gast-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
Bitte helft mir. Ich versuche, hier etwas wirklich Wichtiges zu erledigen, und das ist eine sehr dumme Situation, in der ich nur beim Networking festsitze.
Helft Jungs.
Danke, Phsita.
Antwort1
Tatsächlich war es die Firewall selbst, die blockierte.
Obwohl ich die Regel in der INPUT-Kette für TCP-Port 80 hinzugefügt habe, blockierte aufgrund der umfangreichen Standardkonfiguration von iptables in CentOS 7 immer noch eine Regel einer anderen Kette den Datenverkehr von der VM nach außen.
Ich habe es gerade versucht, indem ich die Firewall gestoppt habe, und jetzt funktioniert es.