首页 > 其他分享 >移动pc,pve在不同网络环境切换

移动pc,pve在不同网络环境切换

时间:2023-06-24 14:01:31浏览次数:33  
标签:bridge network ip 192.168 echo pc pve 切换 GATEWAY

配置双IP

root@pve:/opt/shell-script# cat /etc/network/interfaces
auto lo
iface lo inet loopback
source /etc/network/interfaces.d/*.cfg

iface enp0s31f6 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.9.231/24
        up ip addr add 192.168.157.231/24 dev vmbr0
        #gateway 192.168.9.1
        bridge-ports enp0s31f6
        bridge-stp off
        bridge-fd 0

auto vmbr1
iface vmbr1 inet static
    address 192.168.122.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
    post-up echo 1 > /proc/sys/net/ipv4/conf/vmbr1/proxy_arp
    post-up iptables -t nat -A POSTROUTING -s '192.168.122.0/24' -o vmbr0 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s '192.168.122.0/24' -o vmbr0 -j MASQUERADE

移动pc,pve在不同网络环境切换_ip切换

脚本替换网关,然后设置开机执行

root@pve:/opt/shell-script# cat ip_config.sh-back 
#!/bin/bash
set -e
# 家庭网络配置
HOME_GATEWAY="192.168.9.1"

# 公司网络配置
WORK_GATEWAY="192.168.157.1"

# 网络接口名称
IFACE="enp0s31f6"

# 检测网络环境的函数
detect_network() {
    if ping -c 1 -W 1 $HOME_GATEWAY >/dev/null 2>&1; then
        echo "home"
    elif ping -c 1 -W 1 $WORK_GATEWAY >/dev/null 2>&1; then
        echo "work"
    else
        echo "unknown"
    fi
}

# 配置网络的函数
configure_network() {
    local network=$1
    case $network in
        home)
            ip addr flush dev $IFACE
            ip route replace default via $HOME_GATEWAY
            echo "已切换至家庭网络"
            ;;
        work)
            ip addr flush dev $IFACE
            ip route replace default via $WORK_GATEWAY
            echo "已切换至公司网络"
            ;;
        *)
            echo "无法识别的网络环境"
            ;;
    esac
}

while true; do
    CURRENT_NETWORK=$(detect_network)
    
    if [[ $CURRENT_NETWORK == "home" ]] || [[ $CURRENT_NETWORK == "work" ]]; then
        configure_network $CURRENT_NETWORK
        echo "已配置 $CURRENT_NETWORK 网络"
        break
    else
        echo "网络未知,等待5秒后重试"
        sleep 5
    fi
done

开机启动

crontab -e -u root
添加:
@reboot /opt/shell-script/ip_config.sh

在 root 用户的 crontab 中添加@reboot标签,这样在每次开机时都会执行该脚本

标签:bridge,network,ip,192.168,echo,pc,pve,切换,GATEWAY
From: https://blog.51cto.com/first01/6541124

相关文章

  • proxmox pve 7.4 显卡直通
    IOMMU(Input-OutputMemoryManagementUnit)是一种硬件功能,用于管理设备对系统内存的访问。启用IOMMU后,可以在虚拟机中直接访问物理设备,并允许虚拟机独立于主机操作系统运行#IntelCPUGRUB_CMDLINE_LINUX_DEFAULT="quietintel_iommu=oniommu=pt"#AMDCPUGRUB_CMDLINE_LINUX......
  • gRPC学习记录--python
    gRPC学习记录基于:gRPC官方文档中文版v1.0目录gRPC学习记录gRPC是什么?应用在准备:安装安装Git安装gRPCPython使用protocolbuffersProtocolbuffers版本HelloWorfgRPC!定义服务生成gRPC代码写一个服务器服务实现服务端实现写一个客户端连接服务调用RPC试一下!gRPC......
  • 基于PCA降维的交通标志训练和识别算法matlab仿真
    1.算法理论概述      交通标志识别一直是计算机视觉和机器学习领域的研究热点之一。PCA(PrincipalComponentAnalysis)降维算法是一种常用的特征提取方法,可以将高维数据降低到低维空间中。本文介绍一种基于PCA降维的交通标志训练和识别算法,该算法可以从交通标志图像中提取......
  • RAW域算法之坏点消除DPC
    坏点检测/消除(DefectPixelDetection/Correction)与FPN类似,坏点的产生也与Sensor的工艺有关。与FPN不同的是,坏点有固定点和疑似坏点两种。而后者的出现相对不固定,会随着曝光时间以及温度的变化而变。因此进行坏点消除之前需要首先进行坏点检测(DefectPixelDetection)......
  • pve换国内源
    大部分可以参考清华源的帮助说明:proxmox|镜像站使用帮助|清华大学开源软件镜像站|TsinghuaOpenSourceMirror但是有一个问题,很多教程没有说明白,我们大多数人只是使用pve的免费版,而没有买企业订阅,但是pve默认加了一个企业订阅源的文件,如果不注释掉它,每次更新都会报......
  • 【点云配准】super4PCS
    在OpenGR的目录下,输入time-p./build/apps/Super4PCS/Super4PCS-i./assets/hippo1.ply./assets/hippo2.ply-o0.7-d0.01-t1000-n400-rsuper4pcs.objtime-p为控制台命令,作用为统计程序运行耗费的时间Super4PCS为应用程序的名称,-i命令表示后面为输入的数据名(带路径......
  • 腾讯Android岗三面:EventBus 发送的消息,如何做到线程切换?
    一.前言EventBus是一个基于观察者模式的事件订阅/发布框架,利用EventBus可以在不同模块之间,实现低耦合的消息通信。EventBus因为其使用简单且稳定,被广泛应用在一些生产项目中。通常我们就是使用EventBus分发一些消息给消息的订阅者,除此之外我们还可以通过EventBus将消息传......
  • ubuntu从中文切换成英文的方法
    ubuntu从中文切换成英文的方法有台电脑装系统的时候装了ubuntu中文版,但后来改用做服务器了。结果每次用命令行登录,所有的提示信息都只能看到乱码。网上查了一下切换的方法,由于发行版不同,并不是十分靠谱。最后总结下来,主要做两件事情。修改/etc/default/locale文......
  • gRPC 的 RoadMap 20160325 更新
    gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(ProtocolBuffers)序列化协议开发,且支持众多开发语言。下面我们就从HTTP2、ProtoBuf3、Nginx、gRPC的角度看他们的RoadMAP。HTTP22015年5月HTTP2协议正式版发布:RF......
  • tcpcopy + tcpdump 离线回放
    简单来说,就是用tcpdump记录线上请求,用tcpcopy来重放,如下图所示: ......