我在端口转发和虚拟化方面苦苦挣扎,我已经走了很远,并且可以在本教程之后打开端口(9867)并将其转发到我的虚拟机:https ://aboullaite.me/kvm-qemo-forward-ports-with-iptables /
这是我的iptables:
root@s1 ~/.ssh # iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 4445 packets, 245K bytes)
pkts bytes target prot opt in out source destination
5 220 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9888 to:192.168.122.191:2302
9 452 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9867 to:192.168.122.192:22
Chain INPUT (policy ACCEPT 4377 packets, 237K bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 35 packets, 2529 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 41 packets, 2793 bytes)
pkts bytes target prot opt in out source destination
0 0 RETURN all -- * * 192.168.122.0/24 224.0.0.0/24
0 0 RETURN all -- * * 192.168.122.0/24 255.255.255.255
34 1768 MASQUERADE tcp -- * * 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535
85 5512 MASQUERADE udp -- * * 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535
0 0 MASQUERADE all -- * * 192.168.122.0/24 !192.168.122.0/24
0 0 MASQUERADE all -- * * 192.168.111.0/24 0.0.0.0/0
13 1608 MASQUERADE all -- * * 192.168.122.0/24 0.0.0.0/0
0 0 MASQUERADE all -- * * 192.168.122.0/24 0.0.0.0/0
使用端口 9867 效果很好,这里是我的 nmap 输出:
root@kali:~# nmap <my Server> -p 9867
Starting Nmap 7.70 ( https://nmap.org ) at 2019-07-16 12:58 EDT
Nmap scan report for <my Server> (<my Server IP>)
Host is up (0.020s latency).
rDNS record for <my Server IP>: static.<my Server IP>.clients.your-server.de
PORT STATE SERVICE
9867/tcp open unknown
但我的 9888 端口已关闭:
PORT STATE SERVICE
9888/tcp closed cyborg-systems
谁能告诉我为什么它不开放?我都按照上面的说明进行了操作。
我会很高兴得到答案... :)
经过几天的搜索,我发现我在 Windows VM 中运行的服务器需要的端口比我释放的要多 - 我释放了我在文档中找到的所有端口... -。
如果您从 KVM 虚拟机开始并希望从 Internet 连接到虚拟机,则配置一个桥接网络,您可以在其中组合您的网络接口。之后,VM 将作为 NAT 网络中的设备进行管理。
那么这些指令就可以用来实现从Internet到Vm的端口的端口转发:
虚拟机是这样创建的:
我用 nmap 检查的端口没有被我在我的 Vm 中运行的服务器使用,所以看起来端口已关闭。但是,如果您按照说明进行操作,它至少适用于 Ubuntu 16.04。