我正在努力进行端口转发和虚拟化,我已经取得了很大进展,并且可以在完成本教程后打开并将端口(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
有人能告诉我为什么它没有打开吗?我按照上述说明操作。
我会很高兴得到答案...:)
答案1
经过几天的搜索,我发现在 Windows VM 中运行的服务器需要比我发布的更多的端口 - 我发布了我在文档中找到的所有端口......-。
如果您从 KVM VM 开始,并希望从互联网连接到 VM,则配置桥接网络,在其中组合您的网络接口。之后,VM 将作为 NAT 网络中的设备进行管理。
然后可以通过这些指令实现从Internet到Vm的端口的端口转发:
https://aboullaite.me/kvm-qemo-forward-ports-with-iptables/
VM 的创建方式如下:
https://www.cyberciti.biz/faq/installing-kvm-on-ubuntu-16-04-lts-server/
我用 nmap 检查的端口未被我的虚拟机中运行的服务器使用,因此看起来端口已关闭。但如果您按照说明操作,它就可以工作,至少对于 Ubuntu 16.04 来说是这样。