×

获得 AMPRNet 的地址分配后,就可以尝试将设备接入 AMPRNet;由于目前 ampr 位于 ucsd 的网关使用 ipip tunnel 协议连接个人网关,以及出于配置方便几乎所有个人网关之间同样也使用 ipip tunnel 互联,所以你的机器需要有一个公网可路由的静态 IPv4 地址,但是通常 ISP 不会提供静态地址而是使用 NAT 技术(无法使用 ipip tunnel),或者需要额外的费用才能获得分配,租一个带有静态地址的 VPS 可能会更划算(根据 IPXO 的数据,市场平均一个IPv4租赁费用为 0.4-0.5 $/mo)。

注意:ipip tunnel 本身不会对封装的数据进行加密

首先需要在 portal 中新建一个网关,填入你的网关地址和对应的域名,amprgw 会每小时验证整合一次所有网关,并且只允许条目内的网关与其建立连接,所以你的网关可能需要等待最长一个小时才能与 amprgw 建立连接。

此外,amprgw 会过滤没有 rdns 记录的 44net ip 流量,所以如果你希望地址能够通过 amprgw 被公网访问,需要在 portal 为你的子域名添加对应的 A 记录,系统会为对应的 ip 添加 rdns 记录。

允许内核转发流量:

sysctl -w net.ipv4.ip_forward=1

    使用 ip 命令配置虚拟网卡:

    ip tunnel add ampr mode ipip local <你的静态地址> ttl 64 
    ip link set dev ampr up
    ifconfig ampr mtu 1480
    #添加本机地址,以cidr形式会自动配置掩码
    ip addr add <你给本机分配的地址> dev ampr
    
    # 44.1.0.0/16 为 amprnet 的其它网络设施
    # 经过网关会增加中转次数
    #ip rule add to 44.1.0.0/16 table main priority 180
    
    # 源地址为你的分配地址会使用路由表44
    #ip rule add from <你的分配地址块> table 44 priority 192
    
    # 目标地址为这些会使用路由表44
    ip rule add to 44.0.0.0/9 table 44 priority 195
    ip rule add to 44.128.0.0/10 table 44 priority 195
    # 默认网关为 169.228.34.84
    ip route add default dev ampr via 169.228.34.84 onlink table 44

    注意:实际尝试使用 /etc/network/interfaces 管理隧道时,配置需要有明确的 endpoint,不太适用这里的情况,因为我们不止有一个 ‘endpoint’

    配置完这些后,就可以与 amprgw 建立 ipip tunnel 了,但是 amprgw 会过滤通过它来访问其它存在个人网关的地址块,也就是你同时也需要与其它个人网关进行直接建立 ipip tunnel。这里有两种方法,一种是你通过 portal api 主动获取所有个人网关数据再解析写入路由表中,第二种是使用 ampr-ripd,监听来自 amprgw 每5分钟广播的数据写入路由表。

    这里使用第二种,编译好后运行以下命令:

    ./ampr-ripd -s -r -t 44 -i ampr -a <你的分配地址块>

    通过 ip route show table 44 查询路由表44 验证是否生效

    linux 上可以开启这个功能,防止外部 traceroute 44net 子网内部时,内核通过静态地址而不是 44net 地址返回 icmp 包

    sysctl -w net.ipv4.icmp_errors_use_inbound_ifaddr=1

    实测隧道速度大约为 50-100 Mbps

    接下来,你可以尝试其它方式进行组网。。。

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注

    相关文章

    测试申请IP证书

    Let’s Encrypt 1月份时宣布在年...

    读出全部

    编译curl并启用http/3和ech

    编译curl并启用http/3和ech功能,...

    读出全部

    Canokey固件

    编译好的适用于nRF52840 dongle...

    读出全部

    注册claude账号

    注册claude需要进行短信验证,可以使用5...

    读出全部

    Adobe分流规则

    Adobe软件通过与下列服务器通信检测是否为...

    读出全部

    Github Copilot 解封记录

    使用copilot被封禁,可以开工单让客服帮...

    读出全部