PVE网络NAT配置+外部访问内部虚拟机服务配置

最近买了一个mini主机,放在公司,装了PVE系统,辅助开发,打包和学习使用。新电脑上网需要向公司运维备案电脑的mac地址,于是就向运维报备了MAC地址。默认PVE是只创建了一个网桥(交换机),内部的虚拟机相当于直连了公司的网络,这样每创建一个虚拟机都要找网管去备案,还要占用公司一个固定的ip地址资源,这样还是挺麻烦的。但是它的优势也非常明显,它与我的工作主机同在一个局域网,我访问虚拟机的时候就非常方便。

本着多一事不如少一事的原则,pve内部使用nat方式更好一些,这样我可以随意的创建和删除虚拟机,但就是工作主机访问内部虚拟机会麻烦一点,需要转一个端口转发,完整的配置如下:

PVE的网络配置:

  • ip地址: 192.168.32.250
  • 子网掩码:255.255.255.0
  • 网关: 192.168.32.254

虚拟机内部网络:

10.10.10.0/24

工作主机:

192.168.32.109

bash 复制代码
auto lo
iface lo inet loopback

iface enp2s0 inet manual

#系统默认创建的交换机,保持不动
auto vmbr0
iface vmbr0 inet static
        address 192.168.32.250/24
        gateway 192.168.32.254
        bridge-ports enp2s0 #该虚拟交换机与真实的物理网口进行绑定
        bridge-stp off
        bridge-fd 0

#再创建一个虚拟路由器(网关)
auto vmbr1          
iface vmbr1 inet static
        address  10.10.10.1
        netmask  255.255.255.0
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        post-up echo 1 > /proc/sys/net/ipv4/ip_forward #打开IP转发
        post-up echo 1 > /proc/sys/net/ipv4/conf/eno1/proxy_arp #代理 ARP 允许一个主机在一个子网上代表另一个主机响应 ARP 请求,ARP 是一种用于将 IP 地址解析为 MAC(Media Access Control)地址的协议
        #转发IPv4流量到虚拟机,使虚拟机与外网联通。
        #SNAT 内网转外网,当内部虚拟器需要访问外网时走这条规则
        post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o vmbr0 -j MASQUERADE # -A添加规则
        post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o vmbr0 -j MASQUERADE # -D删除规则
        #DNAT 外网转内网,当外部访问内部虚拟机的服务器时走这条规则
        post-up iptables -t nat -A PREROUTING -i vmbr0 -d 192.168.32.250 -p tcp --dport 8080 -j DNAT --to 10.10.10.100:80 # -A添加规则
        post-down iptables -t nat -D PREROUTING -i vmbr0 -d 192.168.32.250 -p tcp --dport 8080 -j DNAT --to 10.10.10.100:80 # -D删除规则

经过上面的配置,我就可以\

  • 在虚拟机里访问外部网络
  • 在ip是192.168.32.109的工作主机上通过http://192.168.32.250:8080 访问pve内部虚拟机10.10.10.100:80上面的服务了
相关推荐
七夜zippoe7 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
Fcy6489 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满9 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠9 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Harvey9039 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技10 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀11 小时前
Linux环境变量
linux·运维·服务器
zzzsde11 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
聆风吟º12 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
NPE~13 小时前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化