Wireguard笔记(二) 命令行操作
目录
Wireguard笔记(一) 节点安装配置和参数说明
Wireguard笔记(二) 命令行操作
Wireguard笔记(三) lan-to-lan子网穿透和多网段并存
命令行操作
创建wg0网卡, 并设置wireguard参数
ip link add dev wg0 type wireguard
ip address add dev wg0 10.8.1.1/24
wg set wg0 listen-port 7777
wg set wg0 private-key /etc/wireguard/privatekey
wg set wg0 peer CbX0FSQ7W2LNMnozcMeTUrru6me+Q0tbbIfNlcBzPzs= allowed-ips 192.168.20.0/24,10.8.1.2/32 endpoint networkB.company.com:8888
ip link set up wg0
配置完基础参数后, 先保存设置
touch /etc/wireguard/wg0.conf
wg-quick save wg0
然后用wg-quick就可以开启/关闭wg0网卡了
wg-quick down wg0
wg-quick up wg0
使用这种方式, wg-quick把大部分操作细节都封装好了, 通过简单的命令可以创建网卡, 分配地址和修改系统路由表.
如果你需要将wireguard设置为服务, 让它开机自动启动wg0, 可以通过这个命令
systemctl enable wg-quick@wg0 --now
命令行操作(使用wireguard-go)
对于某些环境不适合用原生wireguard的, 可以使用wireguard-go代替, wireguard-go只是用于创建wg网卡, 其他的命令还是用wg来完成的. 以下是纯命令行的操作.
wireguard-go创建网口, 配置IP
# 使用wireguard-go生成虚拟网卡
sudo ./wireguard-go wg0
# 查看创建的网卡
ip link
ip link show dev "wg0"
# 删除创建的网卡
sudo ip link del wg0
# 给虚拟网卡添加地址
sudo ip address add dev wg0 10.253.0.4/24
sudo ip -4 address add dev "wg0" "10.253.0.4/24"
# 删除地址
sudo ip addr del dev wg0 192.168.0.193/24
wg对wg0进行配置
# 生成服务端的公私钥
wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey
# 设置监听端口
sudo wg set wg0 listen-port 50001
# 设置节点私钥
sudo wg set wg0 private-key /etc/wireguard/privatekey
# 查看wg状态
sudo wg
# 或者
sudo wg show
# 查看wg配置 - 这个会输出格式化的配置信息, 可以存为conf文件
sudo wg showconf wg0
# 从wg0.conf.bak载入配置到wg0, 会覆盖当前配置, 且重置当前的连接
sudo wg setconf wg0 wg0.conf.bak
# 从wg0.conf.bak的配置添加到wg0
sudo wg addconf wg0 wg0.conf.additional
# 从wg0.conf.bak中读取配置, 将变化部分应用到wg0, 不如setconf高效, 但是不会影响到当前存在的会话
sudo wg syncconf wg0 wg0.conf.additional
# 启动虚拟网卡
sudo ip link set dev wg0 up
# 断开网卡
sudo ip link set dev wg0 down
# 添加远程节点 (此时远程节点也要添加对应此节点的配置)
sudo wg set wg0 peer PasdfeghBb+kadem7JVtbjh1oRv75Ysc123451iSnM= allowed-ips 192.168.36.0/24,10.253.0.0/24 endpoint 114.104.11.76:50001 persistent-keepalive 30
# ping检查(远程节点IP), 远程也ping此节点检查
ping 10.253.0.1
# 删除远程节点
sudo wg set <interface> peer <key> remove
配置路由和iptables
# 增加本地路由至虚拟网卡
sudo ip -4 route add "192.168.36.0/24" dev "wg0" table "$TABLE"
sudo ip route add 192.168.36.0/24 dev wg0
# 删除路由
sudo ip route del 192.168.36.0/24 dev wg0
# ping检查
ping 192.168.36.109
# 增加iptables规则(如果需要从远程访问本地子网)
iptables -A FORWARD -i wg0 -j ACCEPT
iptables -A FORWARD -o wg0 -j ACCEPT
iptables -A -t nat POSTROUTING -o eth0 -j MASQUERADE
ip6tables -A FORWARD -i wg0 -j ACCEPT
ip6tables -A FORWARD -o wg0 -j ACCEPT
ip6tables -A -t nat POSTROUTING -o eth0 -j MASQUERADE
# 对应的删除命令
iptables -D FORWARD -i wg0 -j ACCEPT
iptables -D FORWARD -o wg0 -j ACCEPT
iptables -D -t nat POSTROUTING -o eth0 -j MASQUERADE
ip6tables -D FORWARD -i wg0 -j ACCEPT
ip6tables -D FORWARD -o wg0 -j ACCEPT
ip6tables -D -t nat POSTROUTING -o eth0 -j MASQUERADE
Wireguard笔记(二) 命令行操作的更多相关文章
- Zookeeper笔记之命令行操作
$ZOOKEEPER_HOME/bin下的zkCli.sh进入命令行界面,使用help可查看支持的所有命令: 一.节点相关操作 create [-s] [-e] path data acl creat ...
- git 命令行操作(之前整理在有道的笔记)
1. 常用命令 切换分支 git checkout [branch_name] 检出分支 git clone [git_URL] 更新分支 git pull origin [branch_name] ...
- 【分析笔记】全志方案通过命令行操作 GPIO 口(带源码分析)
前言说明 在项目开发初期,很经常会需要临时操作某个GPIO来验证某些功能,可以通过编写一个简单的驱动程序来操作,但更方便的是可以通过命令行直接操作 GPIO ,这样不需要经过编写代码.编译驱动.推入文 ...
- 命令行操作svn和git和git
前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音, ...
- SVN的命令行操作
最近在进行svn二次开发,使用的是svnkit.看了很多svnkit的api,渐渐发现都是和SVN的命令行操作对应的.顺便研究一下svn的命名行操作. 1.将文件checkout到本地目录: 基本命令 ...
- Hadoop系列006-HDFS概念及命令行操作
本人微信公众号,欢迎扫码关注! HDFS概念及命令行操作 一.HDFS概念 1.1 概念 HDFS,它是一个文件系统,用于存储文件,通过目录树来定位文件:其次,它是分布式的,由很多服务器联合起来实现其 ...
- Zookeeper(一)CentOS7.5搭建Zookeeper3.4.12集群与命令行操作
一. 分布式安装部署 1.0 下载地址 官网首页: https://zookeeper.apache.org/ 下载地址: http://mirror.bit.edu.cn/apache/zookee ...
- HDFS分布式文件系统的常用命令行操作
一.HDFS的客户端种类 1.网页形式 =>用于测试 网址为你的namenode节点的ip+50070的端口号,如: 192.168.50.128:50070 2.命令行形式 =>用于测 ...
- Kafka命令行操作及常用API
一.Kafka命令行操作 1.查看当前集群已存在的主题 bin/kafka-topic.sh --zookeeper hd09-01:2181 --list 2.创建主题 bin/kafka-topi ...
- 【转帖】Linux命令行操作json神器jq
Linux命令行操作json神器jq https://www.cnblogs.com/chenqionghe/p/11736942.html jq类似一个awk或grep一样的神器,可以方便地在命令行 ...
随机推荐
- java - 对象装载数据返回
1. 创建 Phone 类 package class_object; public class Phone { String brand; String color; double price; v ...
- 百度网盘(百度云)SVIP超级会员共享账号每日更新(2023.12.11)
一.百度网盘SVIP超级会员共享账号 可能很多人不懂这个共享账号是什么意思,小编在这里给大家做一下解答. 我们多知道百度网盘很大的用处就是类似U盘,不同的人把文件上传到百度网盘,别人可以直接下载,避免 ...
- [转帖]History of Unicode Release and Publication Dates
www.unicode.org For ease of reference, this page collects together information about the dates for v ...
- [转帖]TiDB Control 使用说明
https://docs.pingcap.com/zh/tidb/stable/tidb-control TiDB Control 是 TiDB 的命令行工具,用于获取 TiDB 状态信息,多用于调试 ...
- [转帖]性能测试工具netperf安装使用
https://blog.51cto.com/dingtongxue1990/1853714 netperf工具使用 一.安装 1,下载 liunx下载地址:ftp://ftp.netperf.org ...
- [转帖]Kafka之ISR机制的理解
Kafka对于producer发来的消息怎么保证可靠性? 每个partition都给配上副本,做数据同步,保证数据不丢失. 副本数据同步策略 和zookeeper不同的是,Kafka选择的是全部完成同 ...
- [转帖]Jmeter笔记:使用Jmeter向kafka发送消息
https://www.cnblogs.com/daydayup-lin/p/14124816.html 日常工作中有时候需要向kafka中发送消息来测试功能或者性能,这时候我们怎么办呢?我之前是自己 ...
- [转帖]《Linux性能优化实战》笔记(八)—— 内存是怎么工作的
一. 内存映射 我们通常所说的内存容量,指的是物理内存.物理内存也称为主存,大多数计算机用的主存都是动态随机访问内存(DRAM).只有内核才可以直接访问物理内存.那么,进程要访问内存时,该怎么办呢? ...
- 【转帖】nginx变量使用方法详解-3
https://www.diewufeiyang.com/post/577.html 也有一些内建变量是支持改写的,其中一个例子是 $args. 这个变量在读取时返回当前请求的 URL 参数串(即请求 ...
- [转帖]ldconfig命令
https://linux265.com/course/linux-command-ldconfig.html ldconfig命令的作用主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文 ...