wireguard

wireguard wireguard default port: 51820 install archlinux archlinux 新版本的内核已经集成了 wireguard,不需要单独安装. archlinux 集成了 wireguard 但是默认没加载, 需要配置一下启动的时候加载 wireguard 内核模块. # 查看 wireguard 内核模块是不是已经加载了 lsmod | grep wireguard # 手动加载内核模块 sudo modprobe wireguard # 再看一下应该已经加载了 lsmod | grep wireguard # load kernel module at boot vim /etc/modules-load.d/wireguard.conf # content of wireguard.conf # load wireguard module at boot wireguard # 安装 wireguard 管理工具, wireguard 集成进内核了, 但是管理工具 (wg) 还是要手动安装的 pacman -Sy wireguard-tools Ubuntu, Debian sudo apt install wireguard macos brew install wireguard-tools 在 App Store 安装 wireguard ...

2025-08-31 · 6 min · 1074 words · -

huawei vpn, sslvpn, secoclient in archlinux, 华为SSLVPN客户端

huawei vpn, sslvpn, secoclient in archlinux, 华为SSLVPN客户端 下载安装包 http://www.corem.com.cn/index.php/service/tools/secoclient 官方只提供了ubuntu版本,用以下方式可以在 archlinux 上使用。 sudo -i # seco client 依赖 ubuntu 的 arch 命令, 模拟 arch 命令返回 x86_64 echo "echo x86_64" > /usr/bin/arch chmod u+x /usr/bin/arch # install seco client ./secoclient-linux-64-6.0.2.run # 启动后台服务 cd /usr/local/SecoClient/promote ./SecoClientPromoteService -d # 启动secoclient UI cd /usr/local/SecoClient/ ./SecoClient 启动脚本 把 server_address 替换成服务端IP #!/bin/bash sudo ip route del <server_address> count=`ps -ef |grep SecoClientPromoteService |grep -v "grep" |wc -l` echo $count if [ 0 == $count ];then cd /usr/local/SecoClient/promote sudo ./SecoClientPromoteService -d fi count=`ps -ef |grep SecoClient |grep -v "grep" |wc -l` echo $count if [ 1 == $count ];then cd /usr/local/SecoClient/ sudo ./SecoClient fi crostini # in crostini export WAYLAND_DISPLAY=wayland-0 # user id 使用非0数字(非root的已有用户id,如1000,填0 时,secoclient无法启动) export XDG_RUNTIME_DIR=/run/user/<user id> /opt/google/cros-containers/bin/sommelier -X ./SecoClient

2020-02-01 · 1 min · 123 words · -

openvpn docker

openvpn docker export OVPN_DATA="ovpn-data" docker volume create --name $OVPN_DATA docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm kylemanna/openvpn ovpn_genconfig -u udp://home.wiloon.com docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm -it kylemanna/openvpn ovpn_initpki docker run -v $OVPN_DATA:/etc/openvpn -d -p 192.168.50.220:1194:1194/udp --cap-add=NET_ADMIN --name openvpn --restart=always kylemanna/openvpn docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm -it kylemanna/openvpn easyrsa build-client-full client0 nopass docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm kylemanna/openvpn ovpn_getclient client0 > client0.ovpn # Retrieve the client configuration with embedded certificates docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/rpi-openvpn ovpn_getclient client0 > client0.ovpn docker run -v $OVPN_DATA:/etc/openvpn -p 1194:1194/udp --privileged -e DEBUG=1 kylemanna/rpi-openvpn server 192.168.255.0 255.255.255.0 verb 3 key /etc/openvpn/pki/private/xxxx.key ca /etc/openvpn/pki/ca.crt cert /etc/openvpn/pki/issued/xxx.crt dh /etc/openvpn/pki/dh.pem tls-auth /etc/openvpn/pki/ta.key key-direction 0 keepalive 10 60 persist-key persist-tun proto udp # Rely on Docker to do port mapping, internally always 1194 port 1194 dev tun0 status /tmp/openvpn-status.log user nobody group nogroup comp-lzo no ### Route Configurations Below route 192.168.254.0 255.255.255.0 ### Push Configurations Below push "block-outside-dns" push "dhcp-option DNS 192.168.50.1" push "comp-lzo no" push "redirect-gateway def1 bypass-dhcp"

2019-04-29 · 1 min · 162 words · -

openvpn

openvpn VPN, Virtual Private Network, 虚拟专用网络 OpenVPN 是一个基于 OpenSSL 库的应用层 VPN 实现, 最早由James Yonan编写 OpenVpn的技术核心是虚拟网卡,其次是SSL协议实现 虚拟网卡是使用网络底层编程技术实现的一个驱动软件,安装后在主机上多出现一个网卡,可以像其它网卡一样进行配置。服务程序可以在应用层打开虚拟网卡,如果应用软件 (如IE) 向虚拟网卡发送数据,则服务程序可以读取到该数据,如果服务程序写合适的数据到虚拟网卡,应用软件也可以接收得到。虚拟网卡在很多的操作系统下都有相应的实现,这也是OpenVpn能够跨平台一个很重要的理由. 在OpenVpn中,如果用户访问一个远程的虚拟地址 (属于虚拟网卡配用的地址系列,区别于真实地址) ,则操作系统会通过路由机制将数据包 (TUN模式) 或数据帧 (TAP模式) 发送到虚拟网卡上,服务程序接收该数据并进行相应的处理后,通过SOCKET从外网上发送出去,远程服务程序通过SOCKET从外网上接收数据,并进行相应的处理后,发送给虚拟网卡,则应用软件可以接收到,完成了一个单向传输的过程,反之亦然。 加密 OpenVPN使用OpenSSL库加密数据与控制信息: 它使用了OpenSSL的加密以及验证功能,意味着,它能够使用任何OpenSSL支持的算法。它提供了可选的数据包 HMAC 功能以提高连接的安全性。此外,OpenSSL的硬件加速也能提高它的性能。[1] 验证 OpenVPN提供了多种身份验证方式, 用以确认参与连接双方的身份,包括: 预享私钥,第三方证书以及用户名/密码组合。预享密钥最为简单,但同时它只能用于建立点对点的VPN;基于PKI的第三方证书提供了最完善的功能,但是需要额外的精力去维护一个PKI证书体系。 OpenVPN2.0后引入了用户名/口令组合的身份验证方式,它可以省略客户端证书,但是仍有一份服务器证书需要被用作加密。 网络 OpenVPN所有的通信都基于一个单一的IP端口,默认且推荐使用UDP协议通讯,同时TCP也被支持。OpenVPN连接能通过大多数的代理服务器,并且能够在NAT的环境中很好地工作。服务端具有向客户端"推送"某些网络配置信息的功能,这些信息包括: IP地址、路由设置等。OpenVPN提供了两种虚拟网络接口: 通用Tun/Tap驱动,通过它们,可以建立三层IP隧道,或者虚拟二层以太网,后者可以传送任何类型的二层以太网络数据。传送的数据可通过LZO算法压缩。IANA (Internet Assigned Numbers Authority) 指定给OpenVPN的官方端口为1194。OpenVPN 2.0以后版本每个进程可以同时管理数个并发的隧道。[1] OpenVPN使用通用网络协议 (TCP与UDP) 的特点使它成为 IPsec 等协议的理想替代,尤其是在ISP (Internet service provider) 过滤某些特定VPN协议的情况下。[1] 在选择协议时候,需要注意2个加密隧道之间的网络状况,如有高延迟或者丢包较多的情况下,请选择TCP协议作为底层协议,UDP协议由于存在无连接和重传机制,导致要隧道上层的协议进行重传,效率非常低下。[1] 安全 OpenVPN与生俱来便具备了许多安全特性: 它在用户空间运行,无须对内核及网络协议栈作修改;初始完毕后以chroot方式运行,放弃root权限;使用mlockall以防止敏感数据交换到磁盘。[1] OpenVPN通过PKCS#11支持硬件加密标识,如智能卡。 install #install sudo pacman -S openvpn apt-get install openvpn server create keys pacman -S easy-rsa use Elliptic curve instead of RSA # append line to /etc/easy-rsa/vars set_var EASYRSA_ALGO ec set_var EASYRSA_CURVE secp521r1 set_var EASYRSA_DIGEST "sha512" set_var EASYRSA_NS_SUPPORT "yes" easy-rsa cd /etc/easy-rsa export EASYRSA=$(pwd) export EASYRSA_VARS_FILE=/etc/easy-rsa/vars easyrsa init-pki easyrsa build-ca # new ca certificate file: /etc/easy-rsa/pki/ca.crt scp /etc/easy-rsa/pki/ca.crt foo@hostname-of-openvpn-server:/tmp/ca.crt mv /tmp/ca.crt /etc/openvpn/server/ chown root:openvpn /etc/openvpn/server/ca.crt # install easy-rsa on openvpn server pacman -S easy-rsa easyrsa init-pki easyrsa gen-req pingd nopass cp /etc/easy-rsa/pki/private/pingd.key /etc/openvpn/server/ openvpn --genkey secret /etc/openvpn/server/ta.key # The server and client(s) certificates need to be signed by the CA then transferred back to the OpenVPN server/client(s). cp /etc/easy-rsa/pki/reqs/*.req /tmp scp /tmp/*.req foo@hostname-of-CA:/tmp # on ca server cd /etc/easy-rsa easyrsa import-req /tmp/servername.req servername easyrsa sign-req server servername scp /etc/easy-rsa/pki/issued/*.crt foo@hostname-of-openvpn_server:/tmp mv /tmp/servername.crt /etc/openvpn/server/ chown root:openvpn /etc/openvpn/server/servername.crt client pacman -S easy-rsa use Elliptic curve instead of RSA ... easy-rsa cd /etc/easy-rsa export EASYRSA=$(pwd) export EASYRSA_VARS_FILE=/etc/easy-rsa/vars easyrsa init-pki easyrsa gen-req client1 nopass # sign the certificates cp /etc/easy-rsa/pki/reqs/*.req /tmp # cd /etc/easy-rsa # easyrsa import-req /tmp/servername.req servername # easyrsa import-req /tmp/client1.req client1 # easyrsa sign-req server servername # easyrsa sign-req client client1 config “#”前缀是指定的注释标签。openvpn网站上的示例广泛使用’#‘注释。另外,分号 ‘;’ 用于注释掉单行或单项。 ...

2017-02-17 · 3 min · 615 words · -