L2TPv3支持自动拆包,封装后的数据包如果超出裸线路的MTU也能正常运作。 拆包合包毕竟需要耗资源的,这种多余的操作,能避免的话当然最好。 要避免,首先确定好L2TPv3隧道的MTU。 图: UDP封装模式: L2TPv3隧道MTU = 裸线路MTU – IP头 – UDP头 – L2TPv3头 – 以太网头 经测试L2TPv3头在这种模式下是12字节,如果裸线路MTU是1500,那么隧道MTU = 1500 – 20 – 8 – 12 – 14 = 1446,TCP MSS = 1446  […]
Category: Unix Like
Fix Ubuntu policy-based route with fwmark not work
近期发现Ubuntu基于ip rule add fwmark … lookup …所做的策略路由无法正常使用,而Debian正常。抓包的特征就是,出网数据包能应用到策略路由,也能抓到回应的数据包,但回应的数据包被内核丢弃,不会送达user space。 而ip rule add from … lookup …则正常。 查找资料得知是rp_filter的影响(见此:https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt),继而发现Ubuntu的/etc/sysctl.d是有 […]
Linux Policy-based site-to-site IPsec VPN动态IP的配置及内网穿透的应用(StrongSwan)
上一篇文章提到了一点StrongSwan的配置。 本文继续使用StrongSwan。 StrongSwan的left和right是支持使用域名的,利用此可以实现动态IP的支持;上一篇文章用了type=transport模式转发UDP端口构建L2TPv3,如果没有L2组网的需求,其实可以直接利用type=tunnel模式实现L3转发。 网络拓扑: 上图中的路由器lan-router1和lan-router2都是通过pppoe接入互联网的,域名lan-router1.router和lan-router2.router通过ddns分别解析到了各自pppoe0的IP地址上;server1和server […]
Linux L2TPv3以及ip-xfrm的配置
L2TPv3:http://man7.org/linux/man-pages/man8/ip-l2tp.8.html ip-xfrm:http://man7.org/linux/man-pages/man8/ip-xfrm.8.html 这两个都是kernel内置的功能,通过这两个可以直接构建加密的VPN。 本文尝试使用ip-xfrm创建加密的隧道,并基于此隧道构建L2TPv3 VPN。 1. 生成密钥与ID 不使用StrongSwan,手动配置ip-xfrm时需要用到:
1 2 3 4 |
HASH_KEY=0x`dd if=/dev/urandom count=32 bs=1 2> /dev/null | xxd -p -c 64` ENCRYPT_KEY=0x`dd if=/dev/urandom count=32 bs=1 2> /dev/null | xxd -p -c 64` ID=0x`dd if=/dev/urandom count=4 bs=1 2> /dev/null | xxd -p -c 8` echo -e "HASH_KEY=${HASH_KEY}\nENCRYPT_KEY=${ENCRYPT_KEY}\nID=${ID}" |
复制上面四行命令后输出的内容,粘贴到left和right […]
[Updated] libvirt & qemu change VNC password without restart
文章【libvirt & qemu无需重启(在线)更改VNC密码】已于2019-02-17更新。 有两个方法,一个是通过libvirt的virDomainUpdateDeviceFlags接口,另一个是通过qemu-monitor。 以下把“DOMAIN_NAME”替换为虚拟机的名称,“YOU_NEW_VNC_PASSWORD”替换为你的新密码。 通过virDomainUpdateDeviceFlags接口 使用libvirt管理虚拟机的情况下,这个方法是首选,libvirt官方是不推荐使用了libvirt的情况下操纵qemu-monitor的。 首先编写VNC graphic的XML […]