V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
alexyangjie
V2EX  ›  问与答

[求助] 将 Linode 迁移至 SGP 节点后, Linode 无法访问 IPv4 网络

  •  
  •   alexyangjie · 2015-06-10 19:40:09 +08:00 · 4510 次点击
    这是一个创建于 3483 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前天我将Linode从Tokyo迁移到了Singapore数据中心,迁移过程很顺利,但是迁移完成后,发现Linode无法连接IPv4网络,出现以下情况:

    1. 可以Ping到Linode,也可以访问Linode上搭建的网站和SSH等服务
    2. 在Linode里面无法Ping任何网站,包括网关
    3. 在Linode里面可以arping到网关
    4. 在Linode里面可以ping6到任何IPv6地址,说明IPv6网络似乎没有问题
    5. 在Linode里面查看ifconfig的信息一切正常,包括IP和网关地址

    联系Linode客服后,已经尝试的方法有:

    1. 重置防火墙规则,关闭防火墙 -> 无效
    2. 打开Linode Network Helper,自动应用网络设置 -> 无效
    3. 换IP -> 无效
    4. 重启网络和重启vps -> 无效

    现在已经过了两天了,Linode客服还是没有办法,只能跑到这里向大家求助了。有人有类似的经历吗?还有哪些需要调查的地方?

    Linode里面的系统是Ubuntu 14.04 LTS, Linux Kernel 4.0.4 Linode官方版,之前在日本运行了很长时间一直没有问题。

    谢谢大家。

    第 1 条附言  ·  2015-06-11 20:44:55 +08:00
    已经解决。是很早以前设置VPN服务器的时候,在/etc/rc.local里面加了一句

    for vpn in /proc/sys/net/ipv4/conf/*; do echo 0 > $vpn/accept_redirects; echo 0 > $vpn/send_redirects; done
    iptables -t nat -A POSTROUTING -j SNAT --to-source <ip地址> -o eth+
    exit 0

    然后换了机房以后ip没有更新,导致连不到外面。。。
    20 条回复    2015-06-13 09:36:10 +08:00
    543400
        1
    543400  
       2015-06-10 19:56:20 +08:00 via Android
    重装系统
    alexyangjie
        2
    alexyangjie  
    OP
       2015-06-10 20:17:57 +08:00
    @543400 vps里面装了很多东西,重装不太方便,想能不能只解决这个网络的问题。
    Showfom
        3
    Showfom  
       2015-06-11 05:09:55 +08:00 via iPhone
    使用静态IP试试
    alexyangjie
        4
    alexyangjie  
    OP
       2015-06-11 08:13:10 +08:00
    @Showfom 用了Network Helper之后,Linode会自动生成/etc/network/interface文件,里面已经是静态IP了。我也试用过禁用Network Helper然后手动设置/etc/network/interface文件,但仍然不行。
    ryd994
        5
    ryd994  
       2015-06-11 08:17:24 +08:00 via Android
    所以问题只是不能ping?
    似乎并没有什么危害啊
    Showfom
        6
    Showfom  
       2015-06-11 11:14:29 +08:00
    @alexyangjie 换 IP 呗
    Showfom
        7
    Showfom  
       2015-06-11 11:15:04 +08:00
    @alexyangjie 换个内核试试,关掉所有防火墙。
    amphineko
        8
    amphineko  
       2015-06-11 11:21:40 +08:00 via iPhone
    直接发 Ticket 不好吗
    alexyangjie
        9
    alexyangjie  
    OP
       2015-06-11 13:38:05 +08:00
    @ryd994 不只是不能ping,是完全无法访问外部的服务器。
    alexyangjie
        10
    alexyangjie  
    OP
       2015-06-11 13:38:35 +08:00
    @Showfom 换过ip,也换过host,也换过内核,防火墙也全都关掉了。都没用。
    alexyangjie
        11
    alexyangjie  
    OP
       2015-06-11 13:39:05 +08:00
    @amphineko 发了,已经跟我纠结了3天了。。。他们也找不到原因。
    ryd994
        12
    ryd994  
       2015-06-11 18:07:49 +08:00
    @alexyangjie 确认几点:
    TCP入站可以正常收到,可以正常回复
    TCP出站无法发出
    wget ipv6.google.com正常

    既然tcp能建立连接,说明两个方向的实际上都是通的
    我觉得重点还是在防火墙之类
    traceroute什么结果?
    alexyangjie
        13
    alexyangjie  
    OP
       2015-06-11 18:33:10 +08:00
    @ryd994 谢谢帮忙。

    1. TCP入站确认可以收到,可以回复。我的博客就是架在这个上面的 (https://www.alexyang.me)。
    2. 只有IPv4出站无法发出,IPv6正常。
    3. wget ipv6.google.com正常(我将DNS改为了Google DNS的ipv6版本,因为ipv4版本连不上)

    我平常用的ufw,已经完全禁用,iptables规则如下:

    Chain INPUT (policy ACCEPT)
    target prot opt source destination
    fail2ban-dovecot tcp -- anywhere anywhere multiport dports smtp,urd,submission,imap2,imap3,imaps,pop3,pop3s
    fail2ban-sasl tcp -- anywhere anywhere multiport dports smtp,urd,submission,imap2,imap3,imaps,pop3,pop3s
    fail2ban-ssh tcp -- anywhere anywhere multiport dports socks

    Chain FORWARD (policy ACCEPT)
    target prot opt source destination

    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination

    Chain fail2ban-dovecot (1 references)
    target prot opt source destination
    RETURN all -- anywhere anywhere

    Chain fail2ban-sasl (1 references)
    target prot opt source destination
    RETURN all -- anywhere anywhere

    Chain fail2ban-ssh (1 references)
    target prot opt source destination
    RETURN all -- anywhere anywhere

    已经允许所有连接了

    aspdrse1 ~ # traceroute 8.8.8.8
    traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
    1 * * *
    2 * * *
    3 * * *
    4 * * *
    5 * * *
    6 * * *
    7 * * *
    8 * * *
    9 * * *
    10 * * *
    11 * * *
    12 * * *
    13 * * *
    14 * * *
    15 * * *
    16 * * *
    17 * * *
    18 * * *
    19 * * *
    20 * * *
    21 * * *
    22 * * *
    23 * * *
    24 * * *
    25 * * *
    26 * * *
    27 * * *
    28 * * *
    29 * * *
    30 * * *

    另外我今天下午试了linode的rescue模式,发现rescue模式下是可以联网的。所以看来是我linode自己的问题。
    ryd994
        14
    ryd994  
       2015-06-12 15:10:56 +08:00   ❤️ 1
    其实我用SNAT都会限定-s
    养成好习惯用iptables.service,或者firewalld里加……
    Showfom
        15
    Showfom  
       2015-06-12 17:19:24 +08:00
    @alexyangjie 终极办法,备份好数据重新开个 Linode
    alexyangjie
        16
    alexyangjie  
    OP
       2015-06-12 17:34:25 +08:00
    @Showfom 嗯。。幸好解决了。。要不然都想换provider了。。
    Showfom
        17
    Showfom  
       2015-06-12 18:55:06 +08:00
    @alexyangjie 怀疑是他们内核坏了
    alexyangjie
        18
    alexyangjie  
    OP
       2015-06-12 19:31:11 +08:00
    @Showfom 是我自己发现的,还是我自己的问题。。
    amphineko
        19
    amphineko  
       2015-06-12 21:42:53 +08:00 via iPhone
    @alexyangjie 最后是什么问题
    alexyangjie
        20
    alexyangjie  
    OP
       2015-06-13 09:36:10 +08:00
    @amphineko 乌龙,见主贴下面的第一个副贴
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3180 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:45 · PVG 08:45 · LAX 16:45 · JFK 19:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.