简易教程: Anyconnect( ocserv)启用 IPv6 支持 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
alect

简易教程: Anyconnect( ocserv)启用 IPv6 支持

  •  
  •   alect 2015 年 11 月 6 日 12245 次点击
    这是一个创建于 3823 天前的主题,其中的信息可能已经有所发展或是发生改变。
    昨天有 V2EX 的朋友 @nolan1864 问如何启用 IPv6 地址,这里简单说下我自己是如何实现的。本人使用环境 ubuntu 1404 lts

    首先 apt 安装必须的安装包:
    apt-get install build-essential libwrap0-dev libpam0g-dev libdbus-1-dev libreadline-dev libnl-route-3-dev libprotobuf-c0-dev libpcl1-dev libopts25-dev autogen libgnutls28-dev libseccomp-dev libtalloc-dev gperf liblz4-1 liblz4-1 liblz4-dev liblz4-tool dnsmasq

    启用 LZ4 压缩:
    cd /usr/local/src
    wget https://github.com/Cyan4973/lz4/archive/r129.tar.gz -O lz4-r129.tar.gz
    tar -zxf lz4-r129.tar.gz
    cd lz4-r129
    make && make install

    编译 ocserv :
    cd /usr/local/src
    wget ftp://ftp.infradead.org/pub/ocserv/ocserv-0.10.9.tar.xz
    tar xvf ocserv-0.10.9.tar.xz
    cd ocserv-0.10.9
    sed -i 's/define DEFAULT_CONFIG_ENTRIES 96/define DEFAULT_CONFIG_ENTRIES 200/g' src/vpn.h
    ./configure --prefix=/usr --syscOnfdir=/etc
    make && make install

    修改 sysctl.conf 文件开启 ipv4 以及 ipv6 转发功能
    net.ipv4.ip_forward = 1
    net.ipv6.conf.all.forwarding=1


    启用 iptables 规则:
    iptables -t nat -A POSTROUTING -j MASQUERADE
    iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
    ip6tables -A INPUT -p icmpv6 --icmpv6-type router-advertisement -m hl --hl-eq 255 -j ACCEPT
    ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbor-solicitation -m hl --hl-eq 255 -j ACCEPT
    ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbor-advertisement -m hl --hl-eq 255 -j ACCEPT
    ip6tables -A INPUT -p icmpv6 --icmpv6-type redirect -m hl --hl-eq 255 -j ACCEPT

    以上几个比较重要的步骤都写清楚了,剩下的就是编辑 ocserv.conf 文件,将 ipv6 地址池加入,一般就可以访问了。如果服务器本身无 ipv6 ,则去 tunnelbroker 申请一下一样能用。 Ocserv 官网介绍说支持
    第 1 条附言    2020 年 12 月 19 日
    既然有人挖坟,我就更新下帖子吧。

    现在常用的版本比如 centos7 以上,ubuntu18 以上,都已经集成了 ocserv
    我以 linode 为例,系统为 ubuntu 18.04 lts, 后台申请好 ipv6 以后,
    更新 ocserv.conf 文件里面加上 ipv6 地址池。
    sysctl.cnf 文件更新为 ipv4 和 ipv6 转发都设置为 1 即可,

    此外上面提到的几个 iptables 一样要执行。

    ocserv 配置文件我也贴一下。
    https://pastebin.com/LsiTdHpf
    9 条回复    2020-12-19 18:07:52 +08:00
    nolan1864
        1
    nolan1864  
       2015 年 11 月 7 日
    google 搜了好久找不到,太感谢了。
    testboy
        2
    testboy  
       2016 年 4 月 5 日
    你好,我想咨询下,如果需要给 anyconnect 的客户端也分配公网的 v6 地址应该怎么做呢?比如 ISP 给我分配了一段 /96 的地址,我想给每个 anyconnect 客户端也分配一个公网的 v6 地址。。
    按照你这个,好像只能分配私网 v6 地址?谢谢
    alect
        3
    alect  
    OP
       2016 年 4 月 6 日
    @testboy 我这个就是分配的公网 IPv6 地址。
    比如设置: ipv6-network = 2001:470:19:bb8::/64
    不可能分配到内网 ipv6 地址。。
    liuminghao233
        4
    liuminghao233  
       2016 年 11 月 17 日
    为什么我这样设置分配给客户端的是内网 ipv6

    用的是 Vultr

    现在服务端跟客户端可以互 ping 但是客户端只能 ipv4 上网。
    knva
        5
    knva  
       2017 年 11 月 2 日
    我这么做之后,上网是 nat 的方式. v6 实际上只是个内网
    luosonghao
        6
    luosonghao  
       2020 年 1 月 15 日
    ip6tables -t nat -A POSTROUTING -j MASQUERADE
    luosonghao
        7
    luosonghao  
       2020 年 12 月 19 日 via Android
    这相当于把 IPv6 地址进行 NAT 了
    alect
        8
    alect  
    OP
       2020 年 12 月 19 日
    @luosonghao #7 时隔一年你竟然来挖坟。不过我依然说我的配置有效。刚截的图



    [Imgur]( https://imgur.com/2VYRR6U)
    alect
        9
    alect  
    OP
       2020 年 12 月 19 日
    @luosonghao #7 [Imgur]( https://imgur.com/RpYBDqb)

    我这设置的确实是我 ipv6 地址池里面的 ip
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     867 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 55ms UTC 22:18 PVG 06:18 LAX 15:18 JFK 18:18
    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