分类 不说 下的文章

补充

虚拟机使用 ssh 登录

端口转发:将 PVE 主机的 10022 端口转发到虚拟机的 SSH 端口(10022)

iptables -t nat -A PREROUTING -d 192.168.123.150 -p tcp --dport 10022 -j DNAT --to-destination 10.10.10.100:10022

iptables -A FORWARD -d 10.10.10.100 -p tcp --dport 10022 -j ACCEPT

补充了一下 SNAT 和 DNAT 的知识,了解到:

SNAT,即源网络地址转换,主要用于内部网络的主机访问外部网络时。
DNAT,即目标网络地址转换,主要用于外部网络的主机访问内部网络的服务时。


使用 SNAT 的方案

配置网络

编辑网络配置文件

nano /etc/network/interfaces

注释掉vmbr0连接,创建虚拟机使用 vnet1,如果不注释掉会无法联网:

auto wlp4s0
iface wlp4s0 inet static
    address 192.168.123.150/24
    gateway 192.168.123.1
    dns-nameservers 192.168.123.1 8.8.8.8
    wpa-conf /etc/wpa_supplicant/wpa_supplicant-wlp4s0.conf


#auto vmbr0         
#iface vmbr0 inet static
#       address 192.168.100.2/24
#       gateway 192.168.100.1
#       bridge-ports none
#       bridge-stp off
#       bridge-fd 0

source /etc/network/interfaces.d/*

配置 SDN

以上操作完成后应该可以访问Web控制台了,浏览器访问:http://192.168.123.XXX:8006 ,进入控制台,使用root登录,语言选择中文。

创建 SDN 配置:

通过 Web 界面:数据中心->SDN->区域:添加->Simple:

ID:Zone1

通过 Web 界面:数据中心->SDN->Vnets->创建:

名称:vnet1
区:Zone1

然后在右侧子网->创建:

子网:10.10.10.0/24
网关:10.10.10.1
SNAT: 需要通过主机访问外网,勾选此项

通过 Web 界面:数据中心 → SDN → 点击 "应用" 按钮

最后重启,简单粗暴:
reboot

为虚拟机添加 vnet1 网络

在虚拟机的网络界面,将桥接选择为 vnet1 网络。


其他方案

网络接口配置文件
## /etc/network/interfaces
auto lo
iface lo inet loopback

iface eno1 inet manual

iface enp3s0 inet manual

auto wlp4s0
iface wlp4s0 inet dhcp
        wpa-ssid YourSSID
        wpa-psk ***********

auto vmbr0
iface vmbr0 inet static
        address 10.10.254.254/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up bash /root/iptables.config.sh

source /etc/network/interfaces.d
自定义 NAT 脚本
## /root/iptables.config.sh
iptables -t nat -A POSTROUTING -s '10.10.254.0/24' -o wlp4s0 -j MASQUERADE
iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1

iptables -t nat -A PREROUTING -i wlp4s0 -p tcp --dport 3389 -j DNAT --to-destination 10.10.254.1:3389

ip route add default via 172.167.0.254 dev wlp4s0
ip route flush cache
配置vnet1网络

nano /etc/network/interfaces.d/sdn

设置数据包转发

auto vnet1
iface vnet1
        address 192.168.3.1/24
        bridge_ports none
        bridge_stp off
        bridge_fd 0
        ip-forward on
        post-up iptables -A FORWARD -i wlp4s0 -j ACCEPT
        post-up iptables -A FORWARD -o wlp4s0 -j ACCEPT
        post-up iptables -A FORWARD -i vnet1 -j ACCEPT
        post-up iptables -A FORWARD -o vnet1 -j ACCEPT

最简单 PVE 使用无线网卡连接 Wi-Fi 步骤 - 文档共建 - LINUX DO
使用无线网卡管理PVE 8.2并通过NAT访问虚拟机 - 开发调优 - LINUX DO
WiFi无网线笔记本安装Proxmox VE记录 - 开发调优 - LINUX DO

主要参照 最简单 PVE 使用无线网卡连接 Wi-Fi 步骤 - 文档共建 - LINUX DO 这里的内容,利用 AI 进行辅助。


输入 ip a 查看无线网卡设备名。

我的设备是 wlp4s0,需要改为你自己的,下面所有命令里都需要注意修改网卡名称。

安装 Wi-Fi 软件包:

apt install -y wpasupplicant iw wireless-tools

不想暴露明文密码?用 wpa-passphrase 生成并存文件,然后写到 /etc/wpa_supplicant/wpa_supplicant-wlp4s0.conf 这个配置文件:

wpa_passphrase YOUR_SSID YOUR_PASSWORD | sudo tee /etc/wpa_supplicant/wpa_supplicant-wlp4s0.conf

YOUR_SSID YOUR_PASSWORD 这两个填写你需要连接的 WiFi 名称和密码,名称最好不要有中文字符。

编辑 /etc/network/interfaces 这个配置:

nano /etc/network/interfaces

修改 Wi-Fi 网卡部分的配置,注意其中的设备名换成你自己的,这里是静态地址:

auto wlp4s0
iface wlp4s0 inet static
    address 192.168.123.150/24
    gateway 192.168.123.1
    dns-nameservers 192.168.123.1 8.8.8.8
    wpa-conf /etc/wpa_supplicant/wpa_supplicant-wlp4s0.conf

假如用 DHCP 分配地址,修改为:

allow-hotplug wlp4s0
iface wlp4s0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant-wlp4s0.conf

启动

ifup wlp4s0

此时输入 ip a 查看 Wi-Fi 网卡是否正常联网。

打开系统转发的功能

1、创建任意名字的文件(按数字先后加载,数字越大优先级越高,这里用简短名):

sudo nano /etc/sysctl.d/99-ipv4-ipv6-forwarding.conf

2、文件内容填入:

打开 IPv4 转发
net.ipv4.ip_forward=1

打开 IPv6 转发
net.ipv6.conf.all.forwarding=1

3、立即加载新的 sysctl 值,无需重启:

sudo sysctl --system

修改 /etc/network/interfaces 添加 vmbr0 的 NAT 规则

auto vmbr0
iface vmbr0 inet static
    address 10.10.10.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.10.10.0/24' -o wlp4s0 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o wlp4s0 -j MASQUERADE

    post-up ip6tables -t nat -A POSTROUTING -o wlp4s0 -j MASQUERADE
    post-down ip6tables -t nat -D POSTROUTING -o wlp4s0 -j MASQUERADE
iface vmbr0 inet6 auto

重启网络

systemctl restart networking

重启系统即可正常使用 Wi-Fi

在配置 PVE9 无线连接时遇到的问题。


[[解决方案] 更新到Debian 13后网络转发等功能异常?并非错误而是管理机制变更 – 蓝点网](https://www.landiannews.com/archives/110164.html)


在 Debian 13(“Trixie”,开发代号)上,如果想让系统把 IPv4 或 IPv6 数据包从一块网卡转发到另一块网卡(即充当路由器),只需要把内核的 ip_forward 参数打开即可。

Debian 13 已经走的 systemd 路径,最干净的办法是写成 sysctl.d 小配置。

1、创建任意名字的文件(按数字先后加载,数字越大优先级越高,这里用简短名):

sudo nano /etc/sysctl.d/99-ipv4-ipv6-forwarding.conf

2、文件内容填入:

打开 IPv4 转发
net.ipv4.ip_forward=1

打开 IPv6 转发
net.ipv6.conf.all.forwarding=1

3、立即加载新的 sysctl 值,无需重启:

sudo sysctl --system

缘由

今天刚好比较有空,闲着比较了一下自己各个服务器的配置,感觉原来的服务器处理器太旧了,都已经是2013年的老古董了。

没错,就是 RackNerd 的美国服务器。虽然我对性能要求不高,对加载速度也不是很敏感,但能用更好的,为什么不用呢?

过程

新服务器位于荷兰,但我用 Cloudflare 的 CDN 保护网站,其实在哪都差不多。

先用 typecho 的备份功能把博客数据备份到了本地,然后重新上传到新服务器上的 typecho 博客程序上还原。

后面就是把主题和插件也一起拷贝下载,然后上传到新服务器。

简单粗暴,但是很直接,花了半个多小时吧,基本都还原好了。

中间比较尴尬的是,新博客的登录密码忘了,于是进入数据库直接修改账号密码,就是这么粗暴。

再之后是域名解析的替换,更简单了。

结尾

没啥写作的动力,现在写这些总会十分无力,脑袋空空,钱包也空空。

参考链接

Windows使用powershell或者cmd ssh免密码远程连接Linux – 姿势小王子
本地终端使用ssh key免密码连接vps-搞机技术-姿势论坛—姿势小王子

流程备份

思路:本地终端生成公钥文件,将公钥文件上传到服务器,服务器生成验证文件,服务器修改配置允许密钥连接,还可以禁用密码登陆。

  1. 配置文件放在:C:\Users\用户名.ssh 该目录下,如果没有自行创建,文件名为 config ,没有后缀。
  2. 本地终端生成公钥,执行一下命令
    ssh-keygen -t rsa
    在 .ssh 文件夹生成:id_rsa 和 id_rsa.pub 两个公钥文件,记得存放好。
  3. 将 id_rsa.pub 公钥文件上传到服务器,可以用 scp 命令或者 FTP 工具。

    #本地终端进入 .ssh 文件夹
    cd .ssh
    
    #上传公钥文件
    scp -P 22 id_rsa.pub root@ip地址:/root/.ssh
    # -P 端口,id_rsa.pub 需要上传的本地文件,root 远程服务器的用户名,/root/.ssh,远程服务器保存文件夹
  4. 服务器生成验证文件:

    #进入服务器的 .ssh 文件夹
    cd .ssh
    
    #生成验证文件 authorized_keys 
    cat id_rsa.pub > authorized_keys
  5. 修改验证文件和 .ssh 文件夹的权限:

    chmod 600 authorized_keys
    chmod 700 ~/.ssh
  6. 服务器修改 ssh 配置允许密钥连接:

    vim /etc/ssh/sshd_config

    在最后面添加配置参数:

    RSAAuthentication yes
    PubkeyAuthentication yes

    如果需要禁用密码登录,建议尝试使用密钥登录后再来修改:

    PasswordAuthentication no

    重启 sshd 服务是配置生效:

    service sshd restart
  7. 本地终端远程连接服务器:

    ssh root@ip地址 -p 22 -i .ssh/id_rsa
    # root 远程VPS用户名,-p 端口,-i 公钥路径
  8. 本地终端配置文件 config,没有就自己创建一个,内容:

    #这三行就不会创建knownhost文件,服务器重装之后,就不用删除旧的信息。
    Host *
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null
    
    Host tx1 #别名 ssh 这个别名就可以连接了
    HostName xxx.xxx.xxx.xxx #服务器 ip 地址
    User root #服务器登录用户名
    Port 22 #端口
    IdentityFile ~\.ssh\id_rsa #默认使用这个私钥文件登录,这一行可以不写,如果使用其他的密钥文件则需要写一下路径
  9. ssh连接:

    ssh 别名
    示例:ssh txl