【问题标题】:Tunnel Gre problem between two hosts (vps and dedicated server)两台主机(vps和专用服务器)之间的隧道Gre问题
【发布时间】:2018-09-20 09:51:27
【问题描述】:

大家好,我需要解决这个问题(所有服务器都安装了 centos 7):我正在尝试通过 vps(在意大利 - OpenVZ)和专用服务器(在德国)创建一个 gre 隧道,但他们没有内部通信(ping 和 ssh 命令测试)。接下来我创建了一个 gre tunnel trought vps(在意大利 - OpenVZ)和 vps(在法国 - KVM OpenStack)并进行通信,接下来我创建了一个隧道 vps(在法国 - KVM OpenStack)和一个专用服务器(在德国) 他们的交流。我不明白为什么 vps(在意大利 - OpenVZ)和专用服务器(在德国)不通信,关于如何修复的想法( 我也试过禁用 iptables,firewalld 没有启用)?谢谢

换句话说:

在其他尝试中(我的意思是我成功地在这些机器之间创建了 GRE 隧道):

  • VPS(法国)和 VPS(意大利)内部通信(ping 和 ssh 命令测试)
  • VPS(法国)和专用服务器(德国)内部通信(ping 和 ssh 命令测试)

问题(我的意思是我无法在这些机器之间成功创建 GRE 隧道):

  • VPS(意大利)和专用服务器(德国)内部不通信(ping 和 ssh 命令测试)。我还询问了托管服务是否有任何限制,但没有。

我的配置:

  1. 隧道的VPS命令:

    echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf

    iptunnel add gre1 mode gre local VPS_IP remote DEDICATED_SERVER_IP ttl 255

    ip addr add 192.168.168.1/30 dev gre1 ip link set gre1 up

  2. 隧道专用服务器命令:

    iptunnel add gre1 mode gre local DEDICATED_SERVER_IP remote VPS_IP ttl 255

    ip addr add 192.168.168.2/30 dev gre1

    ip link set gre1 up


[root@VPS ~]# ping 192.168.168.2 PING 192.168.168.2 (192.168.168.2) 56(84) 个字节的数据。 ^C --- 192.168.168.2 ping 统计 --- 89个包发送,0个接收,100%丢包,时间87999ms [root@DE ~]# ping 192.168.168.1 PING 192.168.168.1 (192.168.168.1) 56(84) 字节数据。 ^C --- 192.168.168.1 ping 统计 --- 92个包发送,0个接收,100%丢包,时间91001ms [root@VPS ~]# tcpdump -i venet0 "proto gre" tcpdump:详细输出被抑制,使用 -v 或 -vv 在 venet0 上进行完整协议解码侦听,链接类型 LINUX_SLL(Linux 熟),捕获大小 262144 字节 ^C 0 个数据包被捕获 1 个数据包被过滤器接收 0 个数据包被内核丢弃 [root@DE ~]# tcpdump -i enp2s0 "proto gre" tcpdump:详细输出被抑制,使用 -v 或 -vv 在 enp2s0 上进行完整的协议解码侦听,链接类型 EN10MB(以太网),捕获大小 262144 字节 ^C 0捕获的数据包 过滤器接收的 0 个数据包 内核丢弃的 0 个数据包 [root@VPS ~]# lsmod | grep ip_gre 4242 -2 ip_tunnel 4242 -2 坐,ip_gre gre 4242 -2 ip_gre [root@DE ~]# lsmod | grep ip_gre 22707 0 ip_tunnel 25163 1 ip_gre gre 13144 1 ip_gre

Console image with full command output

【问题讨论】:

    标签: linux sockets networking centos tunnel


    【解决方案1】:

    如果隧道工作需要ip_forwarding,你需要做/sbin/sysctl -p 而两端ip tunnel showip route show的输出是什么

    【讨论】:

    • 这是包含您现在发送的完整命令的屏幕:i.imgur.com/Ud91pip.png@Logu
    • tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.tunnel.gre.html。这里看到的唯一区别是隧道 ip 来自两个不同的网络,并且静态路由设置为彼此。你可以试试。或者设置彼此的静态主机路由。你也可以试试ip route flush cache
    • 您可以尝试使用此命令systemctl stop firewalld 停止防火墙。假设您使用的是基于 Redhat 的发行版。
    • 两台服务器都禁用了防火墙,我正在运行 centos 7 @Logu。通过这个链接“tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.tunnel.gre.html”我不明白我必须在服务器上做什么,这是意大利控制台 vps 的输出i.imgur.com/zJRXjIP.png,这是他的 ip 185.xx.xxx.xxx;这是德国专用服务器i.imgur.com/jiFHFFL.png的输出,他的ip是148.251.127.xx
    • 这些是我在您的指南中尝试过的命令i.imgur.com/hoOn7cE.png,如果我已经很好地理解了指南,那么它们就没有工作。 @Logu
    猜你喜欢
    • 1970-01-01
    • 2018-03-26
    • 2013-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    相关资源
    最近更新 更多