Hetzner独服折腾日记三—PVE网络配置

前言

在购买EX43之后,本想再单独购买/29的IPV4,便去hz的后台看了下ipv4的价格。额,月13欧还要加34欧的安装费,他家ip大概是金子做的吧。

囊中羞涩的我只能无限开NAT VPS了。好在,Hetzner还有/64的ipv6可用,这样就可以孵化NAT ipv4 VPS加独立ipv6 VPS了。

ipv4网络配置

ipv4其实配置起来很简单的,PVE官方文档也写了怎么配置NAT网络。原文链接:Network Configuration

原理就是新建一个虚拟网卡,搭建虚拟子网,然后通过iptables进行端口映射,实现虚拟机和外网互联。

也有使用brook进项端口映射的,这个看个人吧。

配置过程

hetzner的debian镜像默认是关闭转发的,编辑/etc/sysctl.conf,添加:

net.ipv4.ip_forward=1

hetzner的debian镜像里默认有,只不过加了注释,可以直接取消#注释

输入

sysctl -p

生效后,开启ipv4转发。

编辑/etc/network/interfaces,Hetzner的物理网卡配置不要动,只在下面添加新建虚拟网卡vmbr0,添加网桥:

auto vmbr0
#private sub network
iface vmbr0 inet static
        address  10.0.0.1/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0

        post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up   iptables -t nat -A POSTROUTING -s '10.0.0.0/24' -o eno1 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '10.0.0.0/24' -o eno1 -j MASQUERADE

保存和重启后,PVE的网络中会出现一个网桥:

这样就可以给虚拟机下发ipv4了。

端口映射

配置完网桥后,要设置端口映射才能使外网连接上创建的虚拟机。iptables规则每次重启就会失效,所以最简单的方法就是直接把规则写在/etc/network/interfaces里。

比如:

把10.0.0.20:22映射到母鸡的60000端口

post-up   iptables -t nat -I PREROUTING -p tcp -i eno1 --dport 60000 -j DNAT --to 10.0.0.20:22
post-down iptables -t nat -D PREROUTING -p tcp -i eno1 --dport 60000 -j DNAT --to 10.0.0.20:22

这样外网通过母鸡ip:60000端口就可以ssh连接到地址为10.0.0.20的虚拟机了。

不过iptables端口映射最大问题是,每次添加新的映射,必须重启母鸡才会生效,service networking restart 并不会生效。

如果母鸡的性能足够强,强烈建议pve里安装一台Windows虚拟机,然后开启远程桌面连接,这样其他Linux虚拟机22等常用的连接端口就不用映射了,Windows虚拟机远程就可以连接各个Linux虚拟机,因为他们是同一个内网。只需要管理好母鸡的3389端口安全就好。

Hetzner独服折腾日记三—PVE网络配置

ipv6 网络配置

ipv6网络配置起来就很麻烦了,站长鼓捣了好几天。

站长参考的教程:hostloc上的大佬写的帖子

配置过程

依旧编辑/etc/sysctl.conf,开启ipv6转发。

net.ipv6.conf.all.accept_dad = 1
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.all.accept_redirects = 1
net.ipv6.conf.all.accept_source_route = 0
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.all.forwarding=1
sysctl -p

编辑/etc/network/interfaces,在物理网卡(eno1)的ipv6配置里添加up ip -6 route del 2a01:4f8:fff:ffff::/64 dev eno1

iface eno1 inet6 static
    address 2a01:4f8:fff:ffff::2/64
    gateway fe80::1
    up ip -6 route del 2a01:4f8:fff:ffff::/64 dev eno1  #这个是ipv6的网段

新建vmbr0虚拟网卡,给定一个ipv6

iface vmbr0 inet6 static
    address 2a01:4f8:fff:ffff::3/64 #随便给个ipv6地址做网关
    bridge_ports none
        bridge_stp off
        bridge_fd 0
        post-up /sbin/ip -f inet6 neigh add proxy 2a01:4f8:fff:ffff::/64 dev vmbr0  #是让所有的ipv6流量走vmbr0,才能将ipv6流量转发出去
        pre-down /sbin/ip -f inet6 neigh del proxy 2a01:4f8:fff:ffff::/64 dev vmbr0  #是让所有的ipv6流量走vmbr0,才能将ipv6流量转发出去

新建虚拟机时:

ip写2a01:4f8:fff:ffff::ff/64,网关:2a01:4f8:fff:ffff::3

文章版权归作者所有。发布者:白嫖怪,转转请注明出处:https://c7pai.com/1185/

(1)
白嫖怪白嫖怪
上一篇 2023年2月28日 下午10:05
下一篇 2023年3月6日 上午10:33

相关推荐

  • Hetzner独服折腾日记五—核显直通和搭建jellyfin私人影音库

    前言 站长购买的这台Hetzner杜甫是有核显的,要怎么利用起来呢?站长准备用之前购买的Google one和薅的微软E5开发者账号来搭建一个私人影音库。 关于核显直通 站长搜了众多教程,目前只搞定了LXC容器的显卡映射。老实说,13代酷睿的直通还是没搞定。 英特尔在11代之后的核显升级为锐炬Iris Xe核显,GPU虚拟化由iGVT-g更改为SR-IOV,…

    2023年3月23日
    2.7K00
  • Zgocloud大盘鸡简单测试和HDD硬盘挂载教程

    Falkenstein Ryzen Big Storage VPS 本次测试的为starter款: 1 Ryzen9 7950X3D 2G DDR5 ECC 50GNVMe+500G HDD 1Gbps 20T流量(可重置) 购买链接 母鸡 宿主机为Hetzner AX102,额外搭配2X16T HDD,固态为 三星PM9A3。 大盘鸡 YABS HDD硬盘…

    2023年5月5日
    1.6K00
  • Hetzner独服折腾日记二—安装PVE

    前言 之前在使用荷兰商家Worldstream的杜甫时,采用的是Windows Server宿主机系统,hyper-V虚拟化的方案。详情可以看: Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射 其实这次的Hetzner杜甫更适合win做宿主机的方案,因为: 但是为什么这次选择P…

    2023年2月28日
    2.1K00
  • Hetzner独服折腾日记一

    前言 Hetzner 一般也喊HZ,德国大厂,非常稳。拥有数十万台服务器,是欧洲最大的数据中心运营商之一。自 1997 年成立以来,Hetzner 一直为私人和企业客户提供强大的托管产品和可靠的 IT 基础架构。通过结合其在创新技术、有吸引力的价格、专家支持和灵活的客户服务方面的优势,Hetzner 扩大了其在德国和欧洲国内外的市场。Hetzner 是一家德…

    2023年2月28日
    1.6K00
  • Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

    前言 其实Windows可以直接建站的,IIS比nginx也好用,完全的图形化界面,只是因为Windows系统搭建php环境太过繁琐,而且日常备份和日后迁移的话可能会有兼容问题。最终还是决定Windows Server做宿主机系统,hyper-V安装Linux搭建LNMP环境建站。 为什么选择Hyper-V 商家的面板是提供各种系统的,包括PVE和EXSI等…

    2022年9月13日
    41200

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

评论列表(1条)

  • 枯叶
    枯叶 2023年6月6日 下午5:31

    虚拟网卡配置弄错了,下面两个的ip应该是10.0.0.0/24,你写的10.10.10.0/24导致虚拟机没网络