win10 访问 ubuntu 虚拟机 上的Django web 服务 操作 和 问题解决

发布时间 2023-12-04 16:53:54作者: dontbealarmedimwithy

虚拟机版本 VMware 16pro

ubuntu 版本 Ubuntu 22.04.1 LTS

 

第一步: 虚拟机设置 NAT

Edit>Virtual Network Editor

修改配置

更改 DHCP 设置

要注意 ip地址 要用 在虚拟机Ubuntu 系统中的网段范围

 在NAT 添加端口转发

 

查看ubuntu 防火墙

sudo ufw status 

Status: inactive 代表关闭

如果开启的话 就要开放端口 或者 关闭

开放端口 sudo ufw allow 8000

关闭防火墙 sudo ufw disable

 

虚拟机就设置完成了

宿主机 win10 需要关闭正在使用的 防火墙

 修改Django 配置

settings.py

ALLOWED_HOSTS = ['*']

启动Django 服务 python3 manage.py runserver 0.0.0.0:8000

在宿主机上 访问 虚拟机ip+端口 或者 本机ip+端口 即可成功访问项目

 

 

下面我遇到的问题:

在完成所有操作后 发现还是不能在宿主机上成功访问, 尝试用ping telnet ip 端口 测试, 都成功 即证明 虚拟机nat 没问题

后面看到 ubuntu 除了防火墙外还有 iptables , 查看iptables

sudo iptables -L -n

看上去似乎没有什么问题, 但对照另一台 可以正常访问的

 似乎多了一个 NFQUEUE 

直接 清除 所有规则

sudo iptables -F

这样就能成功访问

 

至于 iptables 配置, 和 NFQUEUE 我们下次再谈  -.~