标签: ipv6

  • prombox启用dhcpv6

    标准的debian系统在
    /etc/network/interface中
    配置

    auto eth0
           iface eth0 inet6 dhcp
           accept_ra 2
           autoconf 1
    

    就好了
    但是prombox上面的network script似乎与debian系统不一样,dhcp不生效。
    可以采用以下配置

    auto vmbr0
    iface vmbr0 inet static
            address 192.168.33.15/24
            gateway 192.168.33.1
            bridge-ports eth0 eth1
            bridge-stp off
            bridge-fd 0
            dns-nameservers 192.168.33.1
            up dhclient -6 -nw -w vmbr0
            down dhclient -6 -r vmbr0
    
    iface vmbr0 inet6 auto
           accept_ra 2
           autoconf 1
    

    如果还是不生效把dhclient -6 -nw -w vmbr0写入到/etc/rc.local中

    Views: 2

  • pve支持ipv6

    保持默认/etc/network/interfaces

    修改 /etc/sysctl.conf 在最后添加
    net.ipv6.conf.all.accept_ra=2
    net.ipv6.conf.default.accept_ra=2
    net.ipv6.conf.vmbr0.accept_ra=2
    net.ipv6.conf.all.autoconf=1
    net.ipv6.conf.default.autoconf=1
    net.ipv6.conf.vmbr0.autoconf=1
    执行sysctl -p
    稍等片刻就能获得ipv6地址了

    Views: 340

  • AC控制器开启IP地址学习功能

    wlan
    wired-port-profile name default
      learn-client-address ipv4 enable
      learn-client-address ipv6 enable
      quit
    vap-profile name default
      undo nd trust port
      undo learn-client-address ipv4 disable
      undo learn-client-address ipv6 disable
    

    这样能监控到每个终端的IP地址,同时有些功能也依懒于IP地址学习功能。

    Views: 102

  • 华为AirEngine9700S-S下的无线终端IPv6间歇性断网(收不到RA组播报文)

    无线侧的终端主要是手机,而且还不是所有的手机都有问题,导致问题排查起来比较困难
    因为手机上一直提示的是ERR_NAME_NOT_RESOLVED(不知道为啥会提示这个),刚开始以为是DNS的问题,但是怎么换dns服务器都没用。
    先是想root手机进到系统里面进行调试,但是小米的解锁资格没申请到,后来安装安卓usb驱动,用adb进行为手机shell观察路由发现ipv6路由的生存时间很短,然后等到路由过期果然IPv6断网了。
    下面用wireshark抓包一直抓不到icmpv6 ra报文,只有wifi连接建立的时候收到一个单播的ra报文。思来想去觉得问题可能出在组播上,然后在ac控制器上把与组播相关的配置都找出来,直到关闭组播转单播功能的时候wireshark上面出现了icmpv6的ra报文。
    命令行关闭组播转单播

    wlan
    traffic-profile name default
    undo traffic-optimize multicast-unicast enable
    

    这个问题历时几个月(主要也不是致命问题,没有ipv6还可以用ipv4),实际的排查过程比上面说的还要曲折。
    论坛上发的求助贴:
    https://forum.huawei.com/enterprise/zh/thread/742838730168877056?page=1&floor=2

    Views: 162

  • docker容器内支持IPv6

    有多种方法可以实现

    • 使用host类型网络
    services:
      web:
        image: haohetao/nginx
        restart: always
        network_mode: "host"
    

    这样容器内直接使用宿主机的IP地址,而且这种情况下不再需要对外公布端口,因为端口直接就在宿主机上

    • 给宿主机分配私有IPv6地址

      /etc/docker/daemon.json添加以下内容

      “`json
      {
      "registry-mirrors": ["https://docker.hetao.me"],
      "bip": "172.18.0.1/16",
      "ipv6": true,
      "fixed-cidr-v6": "fd33::1/64",
      "experimental": true,
      "ip6tables": true
      }
      </p></li>
      </ul>

      <pre><code class="line-numbers">这样可以全局开启IPv6
      如果要在docker compose中开启IPv6,可以在docker-compose.yaml中指定
      “`yaml
      services:
      web:
      image: haohetao/nginx
      restart: always
      ports:
      – 80:80/tcp
      – 443:443/tcp
      – 443:443/udp
      networks:
      web-network:
      ipv4_address: 172.30.0.20
      ipv6_address: fd34::20
      networks:
      web-network:
      driver: bridge
      enable_ipv6: true
      ipam:
      config:
      – subnet: “172.30.0.0/24”
      – subnet: “fd34::/64”

      这样docker会自动添加NAT64,容器用私有IPV6也能上网

      • 分配固定公网IP

        ip6tables设为false,同时把私有IPv6改为公网IPv6即可,此方法需要路由器或者云平台支持划分子网段
        aws支持,aliyun不支持

      • NDP proxying
        注意:aliyun不支持,aliyun限制了一个网卡只能有一个IPv6地址(不同实例规格数量不同),多余的IP会被拦截
        daemon.json配置

      {
        "registry-mirrors": ["https://docker.hetao.me"],
        "bip": "172.18.0.1/16",
        "ipv6": true,
        "fixed-cidr-v6": "2409:8a1e:6a51:61e1:2::/80",
        "experimental": true,
        "ip6tables": false
      }
      

      容器子网要在宿主机的网段范围内,前缀要小于宿主机前缀(不能等于)

      然后在宿主机上执行

      sysctl -w net.ipv6.conf.enp6s18.proxy_ndp=1
      sysctl net.ipv6.conf.default.forwarding=1
      sysctl net.ipv6.conf.all.forwarding=1
      ip -6 neigh add proxy 2409:8a1e:6a51:61e1:0:242:ac11:2 dev enp6s18 #这个ipv6地址是容器的ipv6地址
      

      最后一部的ip -6 neigh命令可以替换为npd6

      apt install npd6
      cd /etc/
      cp npd6.conf.examle npd6.conf
      

      配置

      prefix=2409:8a1e:6a51:61e1:2:
      interface = enp6s18

      systemctl enable npd6
      systemctl start npd6
      
      • SLAAC或DHCPv6分配公网IPv6

        目前没有找到方法

      总结下来就是还是NAT66最靠谱,其它方法都有各种局限性

      Views: 65

  • dnsmasq解析本地域名的若干方法

    写这个主要是因为如果在公网上配置了IPv6地址的话本地IPV4解析就失效了
    – 方法1,用–address
    2.86版本以后改变了–address=/example.com/1.2.3.4配置的行为,A记录以外的其它记录类型仍然 会向上游转发,这在以前版本是不会的,要保持与以前相同的行为要使用如下写法:
    --address=/example.com/1.2.3.4 --local=/example.com/
    – 方法2,用hosts
    --server=/example.com/
    然后在hosts文件中添加
    1.2.3.4 example.com
    在华硕路由器上的hosts文件是/jffs/configs/hosts.add
    – 方法3,用–dynamic-host添加动态IPV6地址
    –dynamic-host example.com,0::1.2.3.4,br0
    dnsmasq会从br0上获取接口地址添加到ip地址前缀中

    Views: 86