ProxmoxVE6单网卡Trunk模式下双NAT实验

4月 22, 202017:53:28
评论
516 4493字

首先我们先确定实验环境,和实验需求。

先来个最终网络拓扑图

ProxmoxVE6单网卡Trunk模式下双NAT实验

实验环境:

公司内部有多个VLAN网络,均被隔离。使用ACL访问效果不佳。现在想让公司内部一台服务器做虚拟化,在外网远程虚拟机,通过虚拟机访问内网段 (其实公司还有很多IPv4资源,但是奔着浪费可耻还是NAT吧)。

实验准备:

  • 服务器上联端口 Trunk 模式
  • 服务器系统直接PVE镜像安装 或 Debian10 手动安装PVE

开始 Debian10 安装:

镜像地址:https://1314.gift/iso/Debian/x86_64/debian-10.1.0-amd64-DVD-1.iso

安装后基本设置:

服务器可能断网?

#编辑网卡文件
vim /etc/network/interfaces

# 按需 编辑
auto lo
iface lo inet loopback

auto
iface eno1 inet manual

auto eno1.100
iface eno1.100 inet static
        address 公网IP/24
        gateway 公网IP网关
        dns-nameservers 8.8.8.8

auto eno2
iface eno2 inet manual

auto eno1.200
iface eno1.200 inet static
        address  私网IP段/24
        gateway  私网IP网关

# 重启网卡
sudo /etc/init.d/networking restart

上面eno1.100和eno1.200,分别对应交换机中 VLAN 100 和VLAN 200 ,配置格式 「网卡名 + 点 + VLANID」

修改apt源:

mv /etc/apt/sources.list /etc/apt/sources.list.bak && vi /etc/apt/sources.list

# 粘贴下面
deb http://mirrors.aliyun.com/debian/ buster main non-free contrib
deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib
deb http://mirrors.aliyun.com/debian-security/ buster/updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian-security/ buster/updates main non-free contrib

保存,然后 apt-get update -y && apt-get upgrade -y进行更新

同步时间 / 时区:

sudo timedatectl set-timezone Asia/Shanghai # 设置时区
sudo systemctl start systemd-timesyncd  # 自动同步时间

bash: sudo: command not found报错 :

apt install sudo 

dpkg-source报错 :

apt install dpkg-dev

更换SSH端口:

sed -i 's%#Port 22%Port 66%' /etc/ssh/sshd_config 
systemctl restart sshd

基于Debian10安装PVE6:

wget -qO - http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg | sudo apt-key add -
echo "deb http://download.proxmox.com/debian/pve buster pve-no-subscription" | sudo tee /etc/apt/sources.list.d/pve-install-repo.list
sudo apt update -y && sudo apt dist-upgrade -y
echo "deb http://download.proxmox.com/debian/ceph-nautilus buster main" | sudo tee /etc/apt/sources.list.d/ceph.list
sudo apt install proxmox-ve postfix open-iscsi -y
# sudo reboot 暂时不重启

PVE6 基本配置:

配置PVE 6源:

mv /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list.bak
echo "deb http://download.proxmox.com/debian/pve buster pve-no-subscription" >> /etc/apt/sources.list

关闭PVE6 订阅提醒:

sed -i_orig "s/data.status !== 'Active'/false/g" /usr/share/pve-manager/js/pvemanagerlib.js

编辑sysctl转发:

#开启bbr,内核需要是 4.9 以上,可以使用 uname -r 命令查看
	
	
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.rp_filter=1" >> /etc/sysctl.conf
echo "net.ipv4.icmp_echo_ignore_broadcasts=1" >> /etc/sysctl.conf
echo "net.ipv4.conf.default.forwarding=1" >> /etc/sysctl.conf
echo "net.ipv4.conf.default.proxy_arp = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.default.send_redirects = 1" >> /etc/sysctl.conf

sudo sysctl -p # 生效
sudo reboot 

网卡配置:

首先编辑好内网网络的IP地址

准备2个桥接网卡 vmbr0 和 vmbr1

#编辑网卡文件
vim /etc/network/interfaces

# 按需 编辑
auto lo
iface lo inet loopback

auto
iface eno1 inet manual

auto eno1.100
iface eno1.100 inet static
        address 公网IP/24
        gateway 公网IP网关
        dns-nameservers 8.8.8.8

auto eno2
iface eno2 inet manual

auto eno1.200
iface eno1.200 inet static
        address  1私网IP段/24
        gateway  1私网IP网关

auto eno1.200:0
iface eno1.200:0 inet static
        address  2私网IP段/24
        gateway  2私网IP网关

auto vmbr0
iface vmbr0 inet static
        address  192.168.1.254
        netmask  255.255.255.0
        bridge-ports none
        bridge-stp off
        bridge-fd 0
auto vmbr1
iface vmbr1 inet static
        address  192.168.2.254
        netmask  255.255.255.0
        bridge-ports none
        bridge-stp off
        bridge-fd 0

# 重启网卡
sudo /etc/init.d/networking restart

NAT转发配置:

设置要转发的端口

sudo iptables -t nat -A POSTROUTING -s '192.168.1.0/24' -o eno1.100 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -s '192.168.2.0/24' -o eno1.200 -j MASQUERADE

#192.168.*.0/24是前面里面你设置的桥接网卡所在的IP段

sudo iptables -t nat -A PREROUTING -i eno1.100 -p tcp --dport 2222 -j DNAT --to 192.168.1.2:3389
sudo iptables -t nat -A PREROUTING -i eno1.100 -p tcp --dport 2223 -j DNAT --to 192.168.1.3:3389
sudo iptables -t nat -A PREROUTING -i eno1.100 -p tcp --dport 2224 -j DNAT --to 192.168.1.4:3389

#eno1.100 为你的实体网卡,而不是vmbr0虚拟网卡,别搞错了!

安装apt-get install iptables-persistent

apt-get install iptables-persistent -y

保存规则

sudo iptables-save > /etc/iptables/rules.v4

规则生效加载

sudo iptables-restore < /etc/iptables/rules.v4

开启加载规则

sudo touch /etc/network/if-pre-up.d/iptables
sudo chmod +x /etc/network/if-pre-up.d/iptables
sudo vi /etc/network/if-pre-up.d/iptables

在打开的编辑器里面输入以下文本,然后保存退出

#!/bin/sh
/sbin/iptables-restore < /etc/iptables/rules.v4

这样设置后,每次开机会从/etc/iptables读取iptables设置。修改iptables规则后,执行iptables-save > /etc/iptables这个命令就会把设置好的iptables规则保存到/etc/iptables这个文件。这样就不怕重启后丢失iptables设置了。

3.全部设置完成以后重启网卡

/etc/init.d/networking restart

别看了。实验失败,被迫中止

豌豆日志
  • 本文由 发表于 4月 22, 202017:53:28
  • 转载请务必保留本文链接:https://pealog.com/125.html
Centos7 nat转发 系统运维

Centos7 nat转发

学校实验室有台服务器申请了固定的公网IP,能连接外部网络,同时该机器和其它几台内部服务器连接在一个路由器上。需要将该服务器的网络共享给其它内网服务器。进行如下设置即可。 首先,外网服务器有两根网线连接...
#PVE# Debian定时清理buff/Cache缓存 虚拟化与容器

#PVE# Debian定时清理buff/Cache缓存

开启debian定时任务crond,每天凌晨检查一次free内存,当小于8G时执行这三条命令(注:系统内容32G)。 注意:在执行这三条命令之前一定要先执行sync命令(描述:sync 命令运行 sy...
#PVE#迁移虚拟机 虚拟化与容器

#PVE#迁移虚拟机

首先主机的硬盘一般都在这个目录,如果没用就用locate寻找系统盘。 ls /var/lib/vz/images/ # 返回的是所以虚拟机ID目录 现在我们需要将PVE主机A的qcow2虚拟机迁移到P...
#PVE# 硬件直通 虚拟化与容器

#PVE# 硬件直通

PVE 直通:就是将硬件直接分给虚拟机,它和半虚拟化的区别就是,前者是专属,后者是共用,分组直通就是将设备硬件分拆分别分给不同的虚拟机,比如把网卡分给软路由,把硬盘分给群晖,把显卡分给win10,从而...
#PVE# 开启嵌套虚拟化 虚拟化与容器

#PVE# 开启嵌套虚拟化

检测pve虚拟系统是否支持虚拟化 PVE虚拟出来的vm系统的cpu,默认不支持vmx,即不支持嵌套虚拟化,在虚拟机中使用命令来验证: # egrep --color 'vmx|svm' /proc/c...
#PVE# 配置端口聚合LACP 虚拟化与容器

#PVE# 配置端口聚合LACP

保证网络高可用, 我们通常会使用端口聚合。 实验环境: Proxmox VE 6俩个物理端口 1、当交换机上的2个端口没有lacp的时候,单纯只做了端口聚合的时候只有第一模式网络才可以通:balanc...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: