运行 BGP 的节点必须占用一个公网 IP 吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Licsber
0.04D
V2EX    BGP

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

  •  
  •   Licsber 360 天前 2189 次点击
    这是一个创建于 360 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在玩 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 吗
    9 条回复    2025-01-07 13:22:19 +08:00
    Int100
        1
    Int100  
       359 天前 via iPhone
    可以用私网地址 peer
    yyzh
        2
    yyzh  
       359 天前 via Android
    当然可以.这个难听点叫 BGP 劫持好听点叫路由泄露反正都那样.
    baobao1270
        3
    baobao1270  
       359 天前 via Android
    dn42 的习惯是用 link local 做 interface ip 吧?公网好像是要一个有效 ip 的
    非广播网络可以用/31
    Int100
        4
    Int100  
       359 天前
    @yyzh

    用私网地址 peer 和 BGP 劫持/路由泄露 有什么关系?
    yyzh
        5
    yyzh  
       359 天前 via Android
    @Int100 认真看内容,别光看个标题就来回答
    "唯一我能想到的问题是对端和其他人 peer 时不知道怎么描述 8.8.8.8 到底是谁给自己的
    但是如果对别人通告 8.8.8.8 的下一跳是自己 自己知道跳给谁 是不是也可以"
    Licsber
        6
    Licsber  
    OP
       359 天前
    @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
    scsb
        7
    scsb  
       356 天前
    @Licsber 不一定,neighbor 和 local 不一定是同一个网段的 IP 地址 (multihop),然后至于建立 session 的时候要不要公网 IP 地址,这个一般取决于双方是怎么安排的。
    Licsber
        8
    Licsber  
    OP
       356 天前
    @leschans #7 嗯 neighbor 确实不必同一网段 这个我理解了
    甚至还可以不用 v4 可以仅 v6 单栈 用拓展下一跳来实现 v4 访问
    172.31.0.0/16 via inet6 fe80::ade0 dev AS4242423914 proto bird src 172.22.122.122 metric 32

    但是 session 如果不用公网地址 怎么 export 呢
    scsb
        9
    scsb  
       352 天前   1
    @Licsber 这个没有所谓的 你看看一些 traceroute 在公网上 其中的 hop 也有用私有地址的 其实只要那一台 router 能访问到那个地址就行 具体的话在 bird 里有一个 next hop self 的设置
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2896 人在线   最高记录 6679     &nbs; Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 50ms UTC 14:00 PVG 22:00 LAX 06:00 JFK 09:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86