您现在的位置是:首页> 操作系统> Linux> CentOS 7
CentOS7手动安装WireGuard
- 11805人已阅读
- 时间:2021-09-07 23:23:16
- 分类:CentOS 7
祥哥看过很教程都是一键脚本。一键呢很简单也太多了,我就不说了。谈谈手动。
看官方的文档,大至就分为,升级系统内核、安装WireGuard,配置、运行。
#升级系统内核 yum -y install epel-release curl sed -i "0,/enabled=0/s//enabled=1/" /etc/yum.repos.d/epel.repo yum remove -y kernel-devel rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm yum --disablerepo="*" --enablerepo="elrepo-kernel" list available yum -y --enablerepo=elrepo-kernel install kernel-ml sed -i "s/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/" /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg yum -y --enablerepo=elrepo-kernel install kernel-ml-devel #安装WireGuard yum install -y yum-utils epel-release yum-config-manager --setopt=centosplus.includepkgs=kernel-plus --enablerepo=centosplus --save sed -e 's/^DEFAULTKERNEL=kernel$/DEFAULTKERNEL=kernel-plus/' -i /etc/sysconfig/kernel yum install -y kernel-plus wireguard-tools #修改内核 sed -i "s/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/" /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg #关闭防火墙并禁止开机启动 systemctl stop firewalld systemctl disable firewalld #安装防火墙和生成二唯码工具 yum install -y qrencode iptables-services systemctl enable iptables systemctl start iptables iptables -F service iptables save #在中继服务器上开启 IP 地址转发 echo 1 > /proc/sys/net/ipv4/ip_forward echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf sysctl -p #建立配置文件并生成服务器和客户端的公钥私钥 mkdir /etc/wireguard cd /etc/wireguard wg genkey | tee sprivatekey | wg pubkey > spublickey wg genkey | tee cprivatekey | wg pubkey > cpublickey chmod -R 777 /etc/wireguard #生成服务端配置文件 cat > /etc/wireguard/wg0.conf <<-EOF [Interface] PrivateKey = #对应服务器的私钥即sprivatekey Address = 10.88.0.1/16 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -I FORWARD -s 10.88.80.1/24 -d 10.88.80.1/24 -j DROP; iptables -t nat -A POSTROUTING -o 对应自己的网卡名一般为etho -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -D FORWARD -s 10.88.80.1/24 -d 10.88.80.1/24 -j DROP; iptables -t nat -D POSTROUTING -o 对应自己的网卡名一般为etho -j MASQUERADE #端口号自定义 ListenPort = 12345 DNS = 8.8.8.8 MTU = 1420 [Peer] PublicKey = #对应客户端公钥 AllowedIPs = 10.88.80.2/32 EOF #对配置文件多说两句,服务器端是用公钥解锁私钥,客户端用私钥解锁公钥 #也就是说如果配置多用户在继续生成密钥有服务端加入 [Peer] PublicKey = #对应客户端公钥 AllowedIPs = 10.88.80.3/32 [Peer] PublicKey = #对应客户端公钥 AllowedIPs = 10.88.80.4/32 #为了方便客户端在生成客户端 cat > /etc/wireguard/client.conf <<-EOF [Interface] PrivateKey = 客户端私钥 Address = 10.88.80.2/32 客户端ip对应服务端配置 DNS = 8.8.8.8 MTU = 1420 [Peer] PublicKey = 服务端公钥 Endpoint = 服务器IP:端口 AllowedIPs = 0.0.0.0/0, ::0/0 PersistentKeepalive = 25 EOF #设置开机启动WireGuard并重启服务器 systemctl enable wg-quick@wg0 reboot #机器重启后看是否运行可以直接输入命令 wg #可以下载生成的客户端到电脑上上网了。 #手机端可以用我们安装的二唯码工具生成二维码 #这里可以建立一个q.sh脚本 cd /etc/wireguard/ vi q.sh echo '用户0配置' content=$(cat /etc/wireguard/client.conf) qrencode -o - -t UTF8 "${content}" #保存退出后 chmod 777 q.sh ./q.sh 生成二唯码后可以用手机扫描了。
上一篇:CentOS修改时区时间
下一篇:手动安装V2ray