首页
关于本博客
友情链接
推荐
linux/shell
Search
1
LEDE官方固件安装中文语言包的方法
11,081 阅读
2
LEDE固件踢出弱信号客户端,实现WiFi无缝漫游脚本
9,162 阅读
3
基于CloudFlare API的纯Shell动态DNS(DDNS)脚本
8,135 阅读
4
一次OpenVPN交叉编译笔记
6,641 阅读
5
利用iptables的string模块来屏蔽域名(关键词匹配)
6,091 阅读
study
OpenWrt/LEDE
网络技术
数通
HCNP/CCNP
linux
shell
CentOS
Ubuntu/Debian
php
Linux应用
C#
C/C++
虚拟化
IDC
杂项
MySQL
运维笔记
zabbix
seafile
openvpn
QEMU/KVM
windows
html
互联网应用
IP地址段汇总
登录
Search
标签搜索
nginx
openvpn
cloudflare
seafile
iptables
openssl
linux
lede
letsencrypt
openvpn配置模板
ftp
nas
vsftpd
seafile服务器
Linux启动脚本
ddns
SSH
seafile网盘
openwrt
CentOS
自渡
累计撰写
69
篇文章
累计收到
1
条评论
首页
栏目
study
OpenWrt/LEDE
网络技术
数通
HCNP/CCNP
linux
shell
CentOS
Ubuntu/Debian
php
Linux应用
C#
C/C++
虚拟化
IDC
杂项
MySQL
运维笔记
zabbix
seafile
openvpn
QEMU/KVM
windows
html
互联网应用
IP地址段汇总
页面
关于本博客
友情链接
推荐
linux/shell
搜索到
69
篇与
自渡
的结果
2018-11-03
OpenVPN的配置模板(二)之点对点模式
其实OpenVPN早期的版本仅有点对点模式,即仅有单一的客户端和服务器,官方称之为office模式。而一对多的服务器模式是在后续版本中才有的。在该模式下客户端与服务器采用静态密钥或者TLS密钥来验证彼此的身份,不使用证书的方式。此文主要整理了点对点模式的配置模板。生成静态密钥的命令是openvpn --genkey --secret /etc/openvpn/static.key服务端配置(使用静态密钥)#配置通讯协议以及标注服务器端 proto tcp-server #使用tun/tap设备,默认是tun dev tun #通讯端口 port 1194 #定义本地IP为10.8.0.1,对端(即客户端)IP为10.8.0.2 ifconfig 10.8.0.1 10.8.0.2 #配置连接建立后要执行的脚本,如添加路由等,默认不使用 ;up /etc/openvpn/office.up #静态密钥的路径 secret /etc/openvpn/static.key #加密算法 cipher AES-128-CBC #使用LZO压缩 comp-lzo adaptive #告知客户端使用LZO压缩 push "comp-lzo adaptive" #此选项使VPN在重连时不重新读取key且不会将tun设备关闭 persist-tun persist-key #配置日志级别 verb 4 #10秒钟ping一次对端以确定对方是否在线,60秒未响应则断开连接 keepalive 10 60 #将OpenVPN以openvpn用户和组的身份运行,提高安全性 user openvpn group openvpn #生成日志路径 log /var/log/openvpn.log log-append /var/log/openvpn.log客户端配置#配置协议 proto tcp-client dev tun port 1194 #服务器IP地址 remote x.x.x.x #在服务器中断后自动连接 resolv-retry infinite nobind #客户端本地IP为10.8.0.2,服务端IP为10.8.0.1 ifconfig 10.8.0.2 10.8.0.1 #静态密钥存放地址 secret /etc/openvpn/static.key cipher AES-128-CBC comp-lzo adaptive persist-tun persist-key verb 3 keepalive 10 60
2018年11月03日
4,717 阅读
0 评论
0 点赞
2018-11-01
OpenVPN的配置模板(一)之服务器模式
由于运维需要,我个人常使用OpenVPN打通机房之间内网的互连,但是配置较多老是忘记,于是抽空整理了一下不同工作模式的配置模板。服务器(Server)模式是单一服务器对多个客户端的模式,应用场景是出差员工通过移动设备、笔记本电脑拨入公司内网。使用账号密码认证、服务端配置模板如下:#通讯协议,可以选择TCP或者UDP,UDP更适合于在丢包率较大的环境使用 proto tcp #端口号 port 1194 #使用tun或者tap设备 dev tun #实现/24子网掩码换算,最大客户端有255个 topology subnet #设置子网,默认是10.8.0.0/24 server 10.8.0.0 255.255.255.0 #认证算法 auth SHA256 #加密算法 cipher AES-256-CBC #使用LZO压缩 comp-lzo adaptive #告知客户端通讯将采用LZO压缩 push "comp-lzo adaptive" #此处是全局路由选项,即告知客户端将所有流量通过VPN隧道发送,一般是不使用 push "redirect-gateway def1 bypass-dhcp" #推送DNS信息,下同 push "dhcp-option DNS 1.1.1.1" push "dhcp-option DNS 8.8.8.8" #服务器CA证书路径 ca /etc/openvpn/cert/ca.crt #diffie hellman密钥路径 dh /etc/openvpn/cert/dh1024.pem #服务器证书路径 cert /etc/openvpn/cert/server.crt #服务器密钥路径 key /etc/openvpn/cert/server.key #在SSL/TLS握手包的基础上增加额外的签名以提高安全性。 tls-auth /etc/openvpn/cert/ta.key #此选项使VPN在重连时不重新读取key且不会将tun设备关闭 persist-key persist-tun #通过yum安装的,可将其配置为以openvpn用户和组运行,增加安全性 user openvpn group openvpn #openvpn账号密码认证脚本 auth-user-pass-verify /etc/openvpn/openvpn3config/checkpsw.sh via-env #使用客户端提供的用户名作为common name username-as-common-name #不要求客户端提供证书 client-cert-not-required #脚本运行级别为3,否则无法认证用户名密码 script-security 3 #客户端配置文件,可以配置客户端的IP client-config-dir /etc/openvpn/ccd #生成日志 log /var/log/openvpn.log log-append /var/log/openvpn.log #将最大客户端设置为255 max-clients 255 #该选项允许客户端直接通讯而在路由上不经过网关 client-to-client #10秒钟ping一次对端以确定对方是否在线,60秒未响应则断开连接,适合客户端在NAT后使用 keepalive 10 60 nice 3 #日志级别设置 verb 4 mute 10客户端模板如下#声明为客户端 client #使用tun/tap设备,必须与服务端一直 dev tun #连接协议,必须与服务端一直 proto tcp #远程服务器的地址和端口号,可以是域名也可以是IP地址 remote IP or Domain name Portnum #在服务器中断后自动连接 resolv-retry infinite #不指定网卡 nobind #以下同服务端说明 persist-key persist-tun auth SHA256 cipher AES-256-CBC comp-lzo adaptive nice 0 verb 3 mute 10 #认证文件,即用户名密码,下次无需再输入 auth-user-pass pass.txt #ca证书路径,也可使用<ca></ca>的形式直接将证书粘贴于此 ca ca证书路径 #key应该与服务器一致 tls-auth ta.key
2018年11月01日
5,855 阅读
0 评论
0 点赞
2018-10-29
解决shell脚本执行时提示非法字符^M的办法
最近在执行自己编写的shell脚本时老是遇到bash报错,提示脚本中含有^M的非法字符,而我cat以及vi进去却看不到任何^M字符,查阅了很多相关资料,才想起来,因为这个shell脚本是我在windows下使用notepad++编写的,而在windows里面,编辑器对文末换行符号的处理是使用^M字符来代表,这与Linux是不同的,所以当脚本被传到linux里面就会报错,为了去除这个字符,我总结出了两个比较常用的办法:第一种办法:使用vi编辑脚本文件,按esc进入命令行,输入:set ff?就可以看到,当前文本的格式为DOS,使用:set ff=unix命令即可将其改为unix格式,然后:wq保存即可第二种方法:使用sed来替换当中的^M字符sed -i 's/^M//g' 脚本路径
2018年10月29日
3,059 阅读
0 评论
0 点赞
2018-10-15
在Linux下通过命令行部署KVM虚拟机
由于条件限制,一直没有机会在Linux下尝试安装kvm虚拟机,前几天刚好给笔记本安装了Ubuntu18.04,虽然个垃圾本,但是用来跑Linux是绰绰有余。而很多程序都不支持Linux,所以只能通过虚拟机安装Windows的方式来运行他们。实验环境操作系统:Ubuntu 18.04.1 LTS宿主机:联想G400笔记本CPU:i5-3230M内存:8G检查CPU是否支持虚拟化cat /proc/cpuinfo |grep vmx通过apt安装所需软件包sudo apt install qemu-kvm bridge-utils libvirt virtinst配置网桥KVM客户机连接网络常见的有三种方式:NAT模式:该方式是将主机作为路由器,充当客户机的网关,将客户机的外网流量NAT至主网卡从而使客户机能够访问互联网,该方式的缺点是外部网络无法连接到客户机,当然在宿主机上通过iptables来关闭nat并在上层路由器配好路由的话,是可以让外网来访问客户机的。桥接物理网络模式:在该模式下,宿主机充当一台交换机,客户机通过宿主机(交换机)来获取上级DHCP分配的IP地址,此时客户机与宿主机处于同一网段内,外部网络以及宿主机都可以与客户机进行连接。Host-Only模式:该模式与NAT模式类似,唯一不同的是只有宿主机才能与客户机建立连接。我这里进行实验的网络配置为桥接模式,客户机能够直接与宿主机处于同一网段,方便访问。Ubuntu/Debian系的操作系统,网卡的配置信息存在/etc/network/interfaces文件内或者在/etc/network/interfaces.d目录内。建立桥接网络应先配置虚拟网桥,这里将网桥设备命名为br0sudo nano /etc/network/interfaces在文件下方加入选项auto br0 iface br0 inet dhcp bridge_ports enp2s0 bridge_stp off bridge_fd 0保存后重启网络即可sudo systemctl restart networking编辑虚拟机的VNC选项以便进入客户机控制台sudo nano /etc/libvirt/qemu.conf取消以下选项的注释,修改后保存vnc_listen = "0.0.0.0" vnc_password = "设置你的密码"重新启动libvirtdsudo /etc/init.d/libvirtd restart创建虚拟磁盘先创建一个目录用于存放虚拟机的安装镜像及磁盘文件sudo mkdir -p /home/kvm/iso sudo mkdir -p /home/kvm/instance使用qemu-img命令创建一块大小为20G,格式为qcow2的虚拟磁盘,用于等会挂载到客户机上,名称可自定义qemu-img create -f qcow2 /home/kvm/instance/instance01.qcow 20G配置客户机并完成系统安装首先下载镜像,这里演示的是安装CentOS6.10 64位wget -P /home/kvm/iso/ http://mirrors.163.com/centos/6/isos/x86_64/CentOS-6.10-x86_64-minimal.iso使用virt-install命令定义一台客户机virt-install \ --name=instance01 \ --virt-type=kvm \ --hvm --ram=1024 \ --vcpus=1 \ --network bridge=br0,model=virtio \ --graphics vnc,port=5900 \ --disk path=/home/kvm/instance/instance01.qcow,bus=virtio \ --os-type=linux \ --cdrom=/home/kvm/iso/CentOS-6.10-x86_64-minimal.iso参数解读--name:客户机名称,最后配置文件会存在/etc/libvirt/qemu/目录下 --virt-type:虚拟类型,一般是kvm,也可以是xen等等 --ram:分配给客户机的内存大小 --vcpus:分配给客户机的CPU个数 --network:网络配置,这里将网桥设备配置为br0,驱动为virtio --graphics:VNC相关配置,必选,用于通过VNC进入客户机控制台并进行系统安装 --disk path:输入刚才生成的虚拟磁盘的路径,将虚拟磁盘挂载到客户机,驱动为virtio --os-type:操作系统类型 --cdrom:输入系统iso镜像路径,用于系统安装上一步骤的命令执行完毕后,客户机会立即启动,所以可以通过VNC客户端,连接相应的端口进行操作系统的安装客户机的管理命令在宿主机上,管理客户机的工具主要是virsh命令,常用命令有:列出所有客户机sudo virsh list --all 或者 sudo virsh --connect qemu:///system list --all启动客户机sudo virsh start 客户机名关闭客户机sudo virsh shutdown 客户机名shutdown的方式往往不能够关闭虚拟机,所以应给客户机安装acpid并设为开机自启sudo yum -y install acpid /etc/init.d/acpid start chkconfig --add acpid连接客户机控制台sudo virsh console 客户机名强行关闭一台客户机(从列表删除,可重新定义)sudo virsh destroy 客户机名从xml文件定义一台客户机,用于解决destroy后,客户机不在列表的问题sudo virsh define /etc/libvirt/qemu/客户机名彻底删除客户机sudo virsh undefine 客户机名挂起客户机sudo virsh suspend 客户机名恢复被挂起的客户机sudo virsh resume 客户机名使客户机在宿主机开机后自动启动sudo virsh autostart 客户机名取消客户机随宿主机的启动而启动sudo virsh autostart --disable
2018年10月15日
3,341 阅读
0 评论
0 点赞
2018-09-16
在Linux使用vlmcsd搭建KMS服务器激活Windows
在过去常用的激活Windows系统的方式大都是不完美的,网上能找到的激活工具大都捆绑了木马,或者直接劫持浏览器主页,而什么U启动、老毛桃PE虽可激活,但是却对安装的系统植入了广告,并且仍然有劫持上网主页的毛病,于是我搭建了kms服务器以对Windows进行激活。纯净的系统ISO可以到https://msdn.itellyou.cn下载,千万别去某些论坛下,不排除系统内有垃圾广告软件的可能。搭建过程下载vlmcsd,这里是直接下载二进制文件,包内含有多种架构的二进制文件,解压后选择相应平台的,直接执行即可,省去了编译安装的麻烦wget https://github.com/Wind4/vlmcsd/releases/download/svn1111/binaries.tar.gz解压后可以看到有多个文件夹,对于Linux服务器,只需进入./binaries/Linux/intel/static内32位系统执行./vlmcsd-x86-musl-static64位系统执行./vlmcsd-x64-musl-static执行后程序会在后台运行,并监听1688端口,因此需要对iptables进行配置以确保1688端口能正常通信。windows激活流程激活过程非常简单,使用Win键(在CTRL与ALT之间)+R调出运行,运行cmd,然后在命令行内切换到windows系统目录下cd c:\windows\system32设置密钥管理服务器slmgr /skms x.x.x.x(你的服务器IP或者域名)激活系统slmgr /ato查看激活时间slmgr /xpr不出意外windows已经成功被激活,激活时间不是永久的,而是180天,因此可以写脚本通过定时任务续期,也可以到期时手动续期。在VPS上搭建KMS时,应该注意的是,可能会被微软扫描到端口,并投诉到服务商,因此,有条件的话,建立在内网更加安全。
2018年09月16日
2,790 阅读
0 评论
0 点赞
1
...
6
7
8
...
14