站长视角
用户至上

Ubuntu和Debian8+ 上一键安装并配置 WireGuard

WireGuard 内核模块式的加载, 效率非常高.不过这东西是用UDP发送数据, 所以到了晚上就不会那么友好.作者亲测Ubuntu 16.04 LTS Server – 64 Bit和Debian均能完美支持。安装好后如不能上网,将客户端的DNS更改成8.8.8.8。

本文测试机器为美国VPS Hostwinds

服务端和客户端:

https://www.wireguard.com/install/

第三方支持:

https://tunsafe.com/download

部署:

wget --no-check-certificate -qO- 'https://moeclub.org/attachment/LinuxShell/wireguard.sh'| bash

说明:

      1. 使用的是官方默认端口,端口为:51820.
      2. WireGuard 需要 tun 设备才能正常工作.
      3. 配置文件在 /etc/wireguard .
      4. 配置文件 wg0.conf 为脚本自动生成的服务端配置文件.
      5. 服务端已配置自启动, 启动服务命令.
        #配置文件为 wg0.conf 则命令中使用 wg0 wg-quick down wg0; wg-quick up wg0
      6. 配置文件 wg0-client.conf 为脚本自动生成的客户端配置文件.
        将其导入客户端即可使用.
      7. 客户端配置文件中Endpoint项可以用域名代替IP地址.
      8. 如果遇到错误请尝试重启,重新跑脚本.
      9. 如果以下错误请尝试自行更换内核.
        
        RTNETLINK answers: Operation not supported
        Unable to access interface: Protocol not supported
        

        wireguard.sh

#!/bin/bash WG_PORT='51820' IPAddr=`wget --no-check-certificate -qO- http://moeclub.org/address` POOL='https://deb.debian.org/debian/pool/main/w/wireguard/' [ `dpkg -s libc6 |grep '^Version' |grep -o '[0-9\.]\{4\}' |head -n1 |cut -d'.' -f2` -ge "14" ] || exit 0 apt-get update apt-get install -y libmnl-dev libelf-dev linux-headers-$(uname -r) build-essential pkg-config dkms resolvconf dnsmasq qrencode arch=`dpkg --print-architecture` Version=`wget --no-check-certificate -qO- "${POOL}" |grep -o 'wireguard_[0-9\_\.\-]\{1,\}_' |head -n1 |cut -d'_' -f2` [ -n "$Version" ] || exit 1 wget --no-check-certificate -qO "/tmp/wireguard_${Version}_all.deb" "${POOL}wireguard_${Version}_all.deb" wget --no-check-certificate -qO "/tmp/wireguard-dkms_${Version}_all.deb" "${POOL}wireguard-dkms_${Version}_all.deb" wget --no-check-certificate -qO "/tmp/wireguard-tools_${Version}_${arch}.deb" "${POOL}wireguard-tools_${Version}_${arch}.deb" dpkg -i "/tmp/wireguard-tools_${Version}_${arch}.deb" dpkg -i "/tmp/wireguard-dkms_${Version}_all.deb" dpkg -i "/tmp/wireguard_${Version}_all.deb" [ -d /etc/wireguard ] && { command -v wg >/dev/null 2>&1 [ $? == 0 ] || exit 1 sed -i '/#\?net.ipv4.ip_forward/d' /etc/sysctl.conf sed -i '$a\net.ipv4.ip_forward=1' /etc/sysctl.conf sysctl -p cat >/etc/dnsmasq.conf< publickey wg genpsk > presharedkey wg genkey |tee privatekey.client |wg pubkey > publickey.client ServerKey=`cat privatekey` ServerPub=`cat publickey` ServerPsk=`cat presharedkey` ClientKey=`cat privatekey.client` ClientPub=`cat publickey.client` cat >simple.conf</dev/null; wg-quick up wg0\n\n" >>/etc/crontab # Try it! wg-quick down wg0 2>/dev/null; wg-quick up wg0 }
赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权, 转载请注明出处。
文章名称:《Ubuntu和Debian8+ 上一键安装并配置 WireGuard》
文章链接:https://cnidc.co/3141.html
【声明】:国外主机测评仅分享信息,不参与任何交易,也非中介,所有内容仅代表个人观点,均不作直接、间接、法定、约定的保证,读者购买风险自担。一旦您访问国外主机测评,即表示您已经知晓并接受了此声明通告。
【关于安全】:任何 IDC商家都有倒闭和跑路的可能,备份永远是最佳选择,服务器也是机器,不勤备份是对自己极不负责的表现,请保持良好的备份习惯。

登录

找回密码

注册