rpmbuild、VPN、systemctl

官方为提供RPM包、官方的RPM包无法自定义,由此希望提供通用的软件管理机制。
软件打包:将源码包自己编译安装下来
rpmbuild:将源码包(如Nginx)打包成RPM包的工具。
安装rpmbuild工具的软件包rpm-build:
3d1eac5c85d44cb1bf2cd6ba44925135.png
使用rpmbuild,-ba:把某个包的程序转变为二进制代码。随意输入.spec以便生成rpmbuild目录,SOURCES:存放源码包。SPECS:存放配置文件
dae095bb6fe647919adf8a74ffb9949a.png
拷贝源码包到rpmbuild目录下的SOURCES,安装Nginx依赖,第一次编辑RPM包需要,将来变成RPM包就不在需要了。
18ce770181fc4d97a3010e98ff6d016b.png
创建编辑配置文件,在该目录下面创建的文件会自动匹配一个模板方便配置,把内容都补充完。vim rpmbuild/SPECS/nginx.spec
bf2206b19edd41009f662fb4833d5b3c.png
编辑
0ef2321db9bc4f7f88fc36ba88eef887.png
打包成RPM
5e969b12d44b4e849afdc4a3ea0744e9.png
查看Nginx的RPM包
20cd8e993366405b98d414f64d3bf1c5.png
705275ab069747569c455d7c25c15318.png
做成yum源,能够在yum中安装,将生成的Nginx的RPM包传递给99.240主机做网络域名源
5fc0684bedec4e22a99fb42c79f91065.png
e81697ccaa7a4e60942844b61bf3d396.png
创建软件仓库清单
c920702a9d5045cea4984e72832a2323.png
搭建本机yum源
c785f5b400094996bbef224c07fbd108.png
5cf30422066c4ef582c1dabff52812ab.png
此时把Nginx删除和Nginx的依赖pcre-devel/openssl-devel
2b6eca81a0bf4e348bd94242c02f2211.png
安装nginx
06c70bc13529404cb058d470301e7efe.png
此时使用yum也能安装Nginx了
ad7ec8e181ec48599b3b54dac76df4ed.png
%post:表示不管谁安装了RPM包,都会顺带执行的命令,如Nginx需要使用--user=nginx模块,用户还得再输入一遍,当使用%post,添加useradd nginx,谁安装了nginx的RPM包就会多出一个nginx账户。
VPN(Virtual Private Network):虚拟专用网络。在公用网络上建立专用私有网络,进行加密通讯,多用于为集团公司的各地子公司建立连接,连接完成后,各个地区的子公司可以像局域网一样通讯,偶尔可以用于翻墙。使用公有网络模拟私有网络
1、双方都是Linux系统使用公网IP192.168.99.100、192.168.99.200互联传递私网IP10.10.10.100、10.10.10.200内的数据。
modprobe ip_gre:在内核中开启一个gre的功能,gre是一个能开启VPN的功能,搭建虚拟专用网。
lsmod:查看内核功能
ip tunnel:tunnel:创建一个隧道,虚拟局域网;add:添加隧道的名称;mode:使用的是什么技术建立;remote:跟谁建立起隧道;local:本机的IP地址;
当创建隧道时创建错误了可以使用该命令,ip tunnel del tun01:删除隧道;
ip addr:在刚刚建立的隧道创建私有ip,add:本机的虚拟私有IP地址,peer:对面的私有IP地址;dev:指定在那个隧道内建立
对隧道创建私有ip地址创建错误使用该命令:ip addr del 10.10.10.100/8 peer 10.10.10.200/8 dev tun01;
ip link set tun01 up:激活配置;
ip addr show tun01:查看对tun01隧道的配置;
对web2进行相同的配置
关闭防火墙,查看私有的ip地址能否平通。
2、服务器web1为Linux系统,客户web2为Windows系统使用公网IP192.168.99.100、192.168.99.1互联传递私网IP10.10.10.100、10.10.10.200内的数据。
在web1上配置基于Windows的VPN。
(1)、配置加密。
安装libreswan:加密工具,辅助vpn加密
将给libreswan加密工具使用的文件拷贝到/etc目录,然后编辑
修改/etc/ipsec.secrets安全加密文件,当%any:任何人,连接到192.168.99.100时可以使用加密服务;使用的什么密码:PSK:预共享密钥,等Windows客户连接vpn服务器时需要改密码。
(2)、使用xl2tp搭建VPN,支持Windows环境。
安装xl2tp软件包
编辑其配置文件
配置/etc/ppp/option.xl2tpd文件,让xl2tp和刚刚配置的加密文件相关联。将第10,和16行添加注释,将21的注释取消
修改定义用户名密码文件,tom  *  123456  * :当客户连接vpn服务器时需要输入tom客户名和123456密码,第一个‘  * ’表示vpn服务的名称任意匹配,写*不怕万一将来服务器换了个名称,第二个‘ * ’表示客户端的公网IP地址,写*匹配任意的IP地址。
开启加密服务和xl2p服务
在Windows打开vpn
查看加密服务、vpn服务
当显示已连接并且网断了表示连接成功
当断开连接后网络就恢复了。
当连接失败时检查防火墙是否关闭,如果还出错误,编辑注册表
然后重启此时就能连接。
在连接的状态下使用客户端ping服务器的私有IP地址,就能ping通。断开连接就ping不了。
连接时网络断开是因为网络会优先访问vpn,从而让主机和外部网络断开,而vpn为虚拟机没有网络不能访问外网,所以就没有网络了。
当使用systemctl start/stop nginx时会提示没有nginx.service文件不能关闭或启用nginx服务。
http服务跟nginx服务差不多,而http服务就可以使用systemctl命令,所以拷贝http的服务service为nginx.service,然后编辑它就能使用systemctl命令开启nginx了。
编辑/usr/lib/systemd/system文件,其中存放了很多.service文件。
After=network.target remote-fs.target nss-lookup.target:表示等服务器上的网络和远程 连接等服务开启后才开启nginx(http)服务
Type=forking:服务类型forking表示多进程类型的程序
ExecStart=/usr/local/nginx/sbin/nginx  相当于systemctl start nginx
ExecReload=/usr/sbin/nginx/sbin/nginx -s reload  相当于systemctl reloadnginx
ExecStop=/bin/kill -s QUIT $MAINPID(获得要开启程序的ID号)(不是立即关闭nginx,当nginx忙完才关闭)   相当于systemctl stop nginx
[Install]   WantedBy=multi-user.target 支持开机自启动。
需要重启系统才生效。reboot
此时就能使用systemctl命令

  • 12
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值