如何设置 Ubuntu/KVM 网络接口以连接到 Windows 7 VM

如何设置 Ubuntu/KVM 网络接口以连接到 Windows 7 VM

我想使用 KVM 在我的 Ubuntu 16.04 服务器上的 Windows VM 中创建一个游戏服务器。

我已经安装了虚拟机,并且它运行正常。我直接在虚拟机中停用了 Windows 防火墙。

Windows VM 通过网桥与互联网进行通信。

对于我的服务器,我已经在 Ubuntu 防火墙(Iptables)中发布了这些端口:

TCP: 2302,27015-27030,27036-27037
UDP: 2302,4380,27000-27031,27036

我按照这些说明实现了端口转发:https://www.cyberciti.biz/faq/kvm-forward-ports-to-guests-vm-with-ufw-on-linux/

重新iptables -L FORWARD -nv --line-number调整一下:

root@s1 ~ # iptables -L FORWARD -nv --line-number
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1     2532  201K ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.0/24     ctstate RELATED,ESTABLISHED
2     5720  842K ACCEPT     all  --  virbr0 *       192.168.122.0/24     0.0.0.0/0
3        0     0 ACCEPT     all  --  virbr0 virbr0  0.0.0.0/0            0.0.0.0/0
4        0     0 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
5        0     0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
6        0     0 ACCEPT     all  --  *      virbr0  192.168.2.0/24       192.168.122.0/24     state NEW,RELATED,ESTABLISHED

重新iptables-save -t filter | grep FORWARD调整一下:

root@s1 ~ # iptables-save -t filter | grep FORWARD
:FORWARD ACCEPT [0:0]
-A FORWARD -d 192.168.122.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.122.0/24 -i virbr0 -j ACCEPT
-A FORWARD -i virbr0 -o virbr0 -j ACCEPT
-A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -s 192.168.2.0/24 -d 192.168.122.0/24 -o virbr0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

我的网络接口如下所示:

### Hetzner Online GmbH installimage

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback
iface lo inet6 loopback

auto br0
iface br0 inet static
  address <My Address>
  netmask 255.255.255.192
  gateway <Another Address>
  # route <Another Address> via <Another Address>
  up route add -net <Another Address> netmask 255.255.255.192 gw <Another Address> dev eth0
  bridge_ports eth0
  bridge_stp off
  bridge_fd 0
  bridge_maxwait 0
iface br0 inet6 auto

iface eth0 inet6 static
  address <Another Address>
  netmask 64
  gateway <Another Address>

它实际上对我来说看起来不错,但我对 kvm 还没有那么多经验,因为当我尝试连接到游戏服务器时,客户端没有......我猜端口转发仍然存在问题。

有谁能给我提示吗?谢谢 :)

- - 编辑 - -

我的 Windows VM 的 IP 地址:192.168.122.191

答案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/ 

相关内容