V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Licsber
V2EX  ›  BGP

运行 BGP 的节点必须占用一个公网 IP 吗?

  •  
  •   Licsber · 3 天前 · 876 次点击
    最近在玩 dn42
    刚通过自助方式完成第一个 peer 建立并成功 Established

    p2p 类型的 wireguard
    互联用的是各自 dn42 的“公网”地址
    因此有点小疑问

    想象一下现实中的网络
    如果拥有公网地址 如 8.8.8.8
    在和别人 peer 的时候
    双方用/30 的私网来互联 比如本端 10.100.64.1 和对端 10.100.64.2
    本端需要通告对端 8.8.8.8 的下一跳是 10.100.64.1
    这样对端加进它的路由表 看起来运行良好
    唯一我能想到的问题是对端和其他人 peer 时不知道怎么描述 8.8.8.8 到底是谁给自己的
    但是如果对别人通告 8.8.8.8 的下一跳是自己 自己知道跳给谁 是不是也可以

    难道我的边界路由器就必须也有一个公网 IP 吗
    6 条回复    2024-12-31 15:07:05 +08:00
    Int100
        1
    Int100  
       2 天前 via iPhone
    可以用私网地址 peer
    yyzh
        2
    yyzh  
       2 天前 via Android
    当然可以.这个难听点叫 BGP 劫持好听点叫路由泄露反正都那样.
    baobao1270
        3
    baobao1270  
       2 天前 via Android
    dn42 的习惯是用 link local 做 interface ip 吧?公网好像是要一个有效 ip 的
    非广播网络可以用/31
    Int100
        4
    Int100  
       2 天前
    @yyzh

    用私网地址 peer 和 BGP 劫持/路由泄露 有什么关系?
    yyzh
        5
    yyzh  
       2 天前 via Android
    @Int100 认真看内容,别光看个标题就来回答
    "唯一我能想到的问题是对端和其他人 peer 时不知道怎么描述 8.8.8.8 到底是谁给自己的
    但是如果对别人通告 8.8.8.8 的下一跳是自己 自己知道跳给谁 是不是也可以"
    Licsber
        6
    Licsber  
    OP
       2 天前
    @Int100 #1 公网中也会有人这么做吗 话说各 AS 运行 BGP 的设备地址在哪可以查到不

    @yyzh #2 其实看了主要是 Next_Hop 属性

    “BGP Speaker 在向 EBGP 对等体发布某条路由时,会把该路由信息的下一跳属性设置为本地与对端建立 BGP 邻居关系的接口地址。”

    那传递给别人的时候 我理解就是必须要一个自己 AS 内的 IP 才行
    然后如果是广播网络 就必须自己分走一个/30 给对方
    如果不是 那也至少要一个/32

    @baobao1270 #3 嗯 我在看 MP-BGP 用 IPv6 Link-Local 目前我还是建了两条
    非广播网络用/31 但其实 p2p 下 随便用啥接口地址都可以

    直到今天才发现正常 DNS 是不区分 IPv4 和 IPv6 的
    用 v4 的 DNS 或 v6 的 DNS 查询都会返回 v4 和 v6 的结果
    还以为 v4 的 DNS 只会返回 v4
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2545 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:50 · PVG 23:50 · LAX 07:50 · JFK 10:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.