RDP 的 IP 隧道问题

RDP 的 IP 隧道问题

我在 IP 隧道方面遇到了问题。

服务器

  • services01(proxmox 主机)(内部 ip:10.21.21.0/24)(隧道 ip 172.16.0.1)
  • backup01(proxmox 主机)(内部 ip:10.21.23.0/24)(隧道 ip 172.16.0.2)

虚拟机:

  • 10.21.21.7 - services01 上的 VM1
  • 10.21.23.4 - backup01 上的 VM2

问题 :

  • 场景 1。使用 KVM 从 backup01 登录到 VM2。连接到 10.21.21.7 上的文件共享并下载任何 ~ 10 GB 的文件,测试网络功能等 - 一切正常,没有网络问题,速度 ~ 1 gbit,没有超时。
  • 场景 2。使用以下方式从 10.21.21.7 连接到 10.21.23.4微软 RDP,什么也不做,每隔 2-3 分钟,我就会与 RDP 会话断开连接然后重新连接。根据从 10.21.21.7 到 10.23.23.4 的 ping 数据,存在超时(2-3 个 ping 请求),但同时从 10.23.23.1(主机)到 10.23.23.4 的 ping 显示没有任何超时。

配置 : /etc/network/interfaces (backup01)

auto lo
iface lo inet loopback

iface eth0 inet manual

iface eth1 inet manual

auto vmbr0
iface vmbr0 inet static
    address xx.xx.xx.95
    netmask 255.255.255.0
    gateway xx.xx.xx.1
    bridge_ports eth0
    bridge_stp off
    bridge_fd 0

auto vmbr2
iface vmbr2 inet static
    address  10.21.23.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 iptables-restore -n < /root/rules.txt

我用来创建 VLAN 到 VLAN 连接的脚本

#!/bin/sh
#/etc/init.d/tun_serv
#

### BEGIN INIT INFO
# Provides:          tun_serv
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Tun
# Description:       Tunnel
### END INIT INFO      

tun_name='tun_serv';
localip='xx.xx.xx.95';
remouteip='yy.yy.yy.213';
tunip='172.16.0.2';
ptpip='172.16.0.1';
route_to_net=10.21.21.0/24;

touch /var/lock/$tun_name;

case "$1" in
  start)
        echo "Create $tun_name Network"

        ip tunnel add $tun_name mode ipip local $localip remote $remouteip dev vmbr0
        ifconfig $tun_name $tunip/30 pointopoint $ptpip
        ifconfig $tun_name up

        echo "add routes to $route_to_net !"
        ip route add $route_to_net via $ptpip dev $tun_name metric 0

        echo "Add iptables rulles for multicast on ${tun_name}"

        iptables -A INPUT -s $ptpip/30 -j ACCEPT
        iptables -A INPUT -d $ptpip/30 -j ACCEPT
        iptables -A INPUT -m pkttype --pkt-type multicast -j ACCEPT
        iptables -A INPUT -m pkttype --pkt-type broadcast -j ACCEPT
        ;;
  stop)
        echo "Stopping Network $tun_name"
        ifconfig $tun_name down
        echo "Remove routes"
        ip route del $route_to_net via $ptpip dev $tun_name metric 0

        ;;
  remove)
        echo "Stopping Network $tun_name"
        ifconfig $tun_name down
        echo "Remove Network $tun_name"
        ip tunnel del $tun_name

        echo "Remove routes"
        ip route del $route_to_net via $ptpip dev $tun_name metric 0

        echo "Remove rules from iptables $tun_name"
        iptables -D INPUT -s $ptpip/30 -j ACCEPT
        iptables -D INPUT -d $ptpip/30 -j ACCEPT
        iptables -D INPUT -m pkttype --pkt-type multicast -j ACCEPT
        iptables -D INPUT -m pkttype --pkt-type broadcast -j ACCEPT
        ;;

  *)
        echo "Usage: /etc/init.d/$tun_name {start|stop|remove}"
        exit 1
        ;;
esac

exit 0

相关内容