首页
关于本博客
友情链接
推荐
linux/shell
Search
1
LEDE官方固件安装中文语言包的方法
11,118 阅读
2
LEDE固件踢出弱信号客户端,实现WiFi无缝漫游脚本
9,301 阅读
3
基于CloudFlare API的纯Shell动态DNS(DDNS)脚本
8,306 阅读
4
一次OpenVPN交叉编译笔记
6,844 阅读
5
利用iptables的string模块来屏蔽域名(关键词匹配)
6,295 阅读
study
OpenWrt/LEDE
网络技术
数通
HCNP/CCNP
linux
shell
CentOS
Ubuntu/Debian
php
Linux应用
VPS推荐
洛杉矶VPS
欧洲VPS
搬瓦工
C/C++
虚拟化
IDC
杂项
MySQL
运维笔记
zabbix
seafile
openvpn
QEMU/KVM
windows
html
nginx
互联网应用
IP地址段汇总
登录
Search
标签搜索
nginx
OpenWrt
openvpn
SSH
cloudflare
seafile
iptables
VPS
linux
openssl
ddns
CentOS
Linux启动脚本
seafile网盘
vsftpd
openvpn配置模板
ftp
反向代理
seafile服务器
letsencrypt
自渡
累计撰写
78
篇文章
累计收到
3
条评论
首页
栏目
study
OpenWrt/LEDE
网络技术
数通
HCNP/CCNP
linux
shell
CentOS
Ubuntu/Debian
php
Linux应用
VPS推荐
洛杉矶VPS
欧洲VPS
搬瓦工
C/C++
虚拟化
IDC
杂项
MySQL
运维笔记
zabbix
seafile
openvpn
QEMU/KVM
windows
html
nginx
互联网应用
IP地址段汇总
页面
关于本博客
友情链接
推荐
linux/shell
搜索到
22
篇与
运维笔记
的结果
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,898 阅读
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日
6,115 阅读
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,420 阅读
0 评论
0 点赞
2018-09-11
在Linux下编译安装transmission
transmission简介Transmission是一个功能强大的开源BT客户端,它能够完美地在Windows、Linux、MacOS下运行,支持磁力链接,BT下载。官网:https://transmissionbt.com根据官方介绍,其功能特性有:1、使用的资源比其他客户端少2、原生Mac,GTK +和Qt GUI客户端3、以守护进程运行4、可以由Web和终端客户端进行远程控制5、本地Peer发现6、完全加密,支持DHT,μTP,PEX和磁力链接Transmission在Linux下的安装Debian系操作系统可以直接使用apt进行安装,而RedHat系一般是从源码编译安装。编译环境:CentOSTransmission版本:2.94首先安装编译前所需的依赖yum -y install gcc gcc-c++ make automake libtool gettext openssl-devel libevent-devel intltool libiconv wget从官网下载相关源码到本机并解压cd /usr/src && wget https://github.com/transmission/transmission-releases/raw/master/transmission-2.94.tar.xz tar -xvf transmission-2.94.tar.xz开始进行编译cd transmission-2.94 && ./configure CFLAGS=-liconv make && make install修改配置文件编译并完成后,会生成五个二进制文件,分别为:transmission-create transmission-daemon transmission-edit transmission-remote transmission-show通常在启动时只需要执行transmission-daemon这个文件。在第一次执行该文件时,可通过附加-g选项并指定一个路径来保存transmission,若未加-g选项,则默认配置文件settings.json在/root/.config/transmission目录下(如果是以root身份执行的话)。以下是settings.json的配置模板,只需修改注释的地方即可{ "alt-speed-down": 50, "alt-speed-enabled": false, "alt-speed-time-begin": 540, "alt-speed-time-day": 127, "alt-speed-time-enabled": false, "alt-speed-time-end": 1020, "alt-speed-up": 50, "bind-address-ipv4": "0.0.0.0", "bind-address-ipv6": "::", "blocklist-enabled": false, "blocklist-url": "http://www.example.com/blocklist", "cache-size-mb": 4, "dht-enabled": true, "download-dir": "/usr/local/transmission/downloads", #此处应填写下载目录 "download-queue-enabled": true, "download-queue-size": 5, "encryption": 1, "idle-seeding-limit": 30, "idle-seeding-limit-enabled": false, "incomplete-dir": "", "incomplete-dir-enabled": false, "lpd-enabled": false, "message-level": 2, "peer-congestion-algorithm": "", "peer-id-ttl-hours": 6, "peer-limit-global": 200, "peer-limit-per-torrent": 50, "peer-port": 51413, "peer-port-random-high": 65535, "peer-port-random-low": 49152, "peer-port-random-on-start": false, "peer-socket-tos": "default", "pex-enabled": true, "port-forwarding-enabled": true, "preallocation": 1, "prefetch-enabled": true, "queue-stalled-enabled": true, "queue-stalled-minutes": 30, "ratio-limit": 2, "ratio-limit-enabled": false, "rename-partial-files": true, "rpc-authentication-required": true, "rpc-bind-address": "0.0.0.0", #RPC监听的网卡,0.0.0.0代表监听所有网卡 "rpc-enabled": true, #开启通过RPC连接 "rpc-host-whitelist": "", "rpc-host-whitelist-enabled": true, "rpc-password": "{xxx", #填写RPC密码,填写后重启会自从转变为hash值 "rpc-port": 9091, #RPC端口 "rpc-url": "/transmission/", "rpc-username": "transmission", #RPC用户名 "rpc-whitelist": "127.0.0.1", "rpc-whitelist-enabled": false, #关闭白名单,否则未在白名单内的IP将无法通过web访问 "scrape-paused-torrents-enabled": true, "script-torrent-done-enabled": false, "script-torrent-done-filename": "", "seed-queue-enabled": false, "seed-queue-size": 10, "speed-limit-down": 100, "speed-limit-down-enabled": false, "speed-limit-up": 100, "speed-limit-up-enabled": false, "start-added-torrents": true, "trash-original-torrent-files": false, "umask": 18, "upload-slots-per-torrent": 14, "utp-enabled": true }Transmission的启动及其他注意点配置好修改好配置文件settings.json后,直接执行transmission-daemon即可令transmission在后台运行,要访问控制台时,只需要通过http协议在浏览器输入服务器IP加RPC端口,并且输入用户名密码即可。(如http://x.x.x.x:port)在服务器上使用transmission下载版权电影时务必要确定主机所属商家是否无视DMCA(数字千年版权法),否则很容易因掉入版权方蜜罐而收到律师函。一般在版权管理宽松的欧洲某些国家,还有中国大陆是无视DMCA的,可以放心地使用。
2018年09月11日
2,537 阅读
0 评论
0 点赞
2018-06-11
一次OpenVPN交叉编译笔记
说明为了让家宽打VPN隧道到IDC机房提高QOS级别,决定将OpenVPN移植到mips架构的OpenWrt出口路由器上,而路由器本身不带编译器,所以必须通过交叉编译的方式将OpenVPN源码编译成路由器(mips)平台可执行的二进制文件。编译环境及说明在编译OpenVPN之前必须先编译OpenSSL和LZO,全程应以root身份运行编译程序的主机系统:CentOS6.9 X86_64(VMware)执行程序的主机系统:OpenWrt,Barrier Breaker14.07,mips架构(QCA9533)下载相关工具链及确定安装目录mkdir -p /usr/local/openwrt/opensslmkdir -p /usr/local/openwrt/lzomkdir -p /usr/local/openwrt/openvpncd /usr/local/openwrt && wget http://archive.openwrt.org/barrier_breaker/14.07/atheros/generic/OpenWrt-Toolchain-atheros-for-mips_mips32-gcc-4.8-linaro_uClibc-0.9.33.2.tar.bz2 tar -xvf OpenWrt-Toolchain-atheros-for-mips_mips32-gcc-4.8-linaro_uClibc-0.9.33.2.tar.bz2mv OpenWrt-Toolchain-atheros-for-mips_mips32-gcc-4.8-linaro_uClibc-0.9.33.2/toolchain-mips_mips32_gcc-4.8-linaro_uClibc-0.9.33.2 ./toolchain编译OpenSSLcd /usr/local/openwrt && wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz tar -zxvf openssl-1.0.2o.tar.gzcd openssl-1.0.2o && ./config --prefix=/usr/local/openwrt/openssl no-asm shared确保Makefile文件中有以下行,并且删除所有-m64选项CC=/usr/local/openwrt/toolchain/bin/mips-openwrt-linux-gccAR=/usr/local/openwrt/toolchain/bin/mips-openwrt-linux-arRANLIB=/usr/local/openwrt/toolchain/bin/mips-openwrt-linux-ranlibsed命令快速更改:sed -i 's/CC= gcc/CC=/usr/local/openwrt/toolchain/bin/mips-openwrt-linux-gcc/' Makefilesed -i 's/AR= ar/AR=/usr/local/openwrt/toolchain/bin/mips-openwrt-linux-ar/' Makefilesed -i 's/RANLIB=/usr/bin/ranlib/RANLIB= /usr/local/openwrt/toolchain/bin/mips-openwrt-linux-ranlib/' Makefilesed -i 's/-m64//g' Makefilemake -j4 && make install此时安装完毕,安装目录在/usr/local/openwrt/openssl目录下编译LZOcd /usr/local/openwrt && wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gztar -zxvf lzo-2.10.tar.gz && cd lzo-2.10./configure CC=/usr/local/openwrt/toolchain/bin/mips-openwrt-linux-gcc --host=mips-linux --prefix=/usr/local/openwrt/lzomake && make install编译OpenVPNcd /usr/local/openwrt && wget http://swupdate.openvpn.org/community/releases/openvpn-2.3.1.tar.gztar -zxvf openvpn-2.3.1.tar.gz && cd openvpn-2.3.1./configure \CC=/usr/local/openwrt/toolchain/bin/mips-openwrt-linux-gcc \--host=mips-linux \--prefix=/usr/local/openwrt/openvpn/ \LZO_CFLAGS="-I/usr/local/openwrt/lzo/include" \LZO_LIBS="-L/usr/local/openwrt/lzo/lib -llzo2" \OPENSSL_CRYPTO_CFLAGS="-I/usr/local/openwrt/openssl/include" \OPENSSL_SSL_CFLAGS="-I/usr/local/openwrt/openssl/include" \OPENSSL_SSL_LIBS="-L/usr/local/openwrt/openssl/lib -lssl" \OPENSSL_CRYPTO_LIBS="-L/usr/local/openwrt/openssl/lib -lcrypto" \--disable-plugin-auth-pam \--with-ssl-lib=/usr/local/openwrt/openssl/lib \export C_INCLUDE_PATH=/usr/local/openwrt/openssl/includemake -j4 && make install将程序上传到OpenWrt路由器此时编译已全部完成,目录分别为/usr/local/openwrt/lzo/usr/local/openwrt/openssl/usr/local/openwrt/openvpn通过SCP将/usr/local/openwrt/openvpn/sbin/openvpn和/usr/local/openwrt/openssl/lib/libcrypto.so.1.0.0上传到路由器的/sbin和/lib目录下并赋予/sbin/openvpn执行权限即可chmod +x /sbin/openvpn
2018年06月11日
6,844 阅读
0 评论
0 点赞
1
...
3
4
5