修改Ubuntu14.10网卡逻辑名实践

push 发表了文章 • 0 个评论 • 52 次浏览 • 5 天前 • 来自相关话题

Ubuntu安装完毕之后,如果发生异常宕机,可能导致网卡的逻辑名出现异常,或者和之前的不一致。如果你的应用处理是依据逻辑名,那么有可能数据会传输到非预期的网卡接口上去,今天我们看看在Ubuntu14.10 下网卡固话的过程。
 

网卡信息查询​

eth0 Link encap:以太网 硬件地址 52:54:00:09:e2:11
inet 地址:10.0.3.94 广播:10.0.3.255 掩码:255.255.255.0
inet6 地址: fe80::5054:ff:fe09:e211/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:4541 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:1908 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:288707 (288.7 KB) 发送字节:691213 (691.2 KB)

lo Link encap:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0
inet6 地址: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 跃点数:1
接收数据包:2503 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:2503 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:0
接收字节:836481 (836.4 KB) 发送字节:836481 (836.4 KB)上述HWaddr后面为eth0接口的MAC地址:  52:54:00:09:e2:11
 
查看已有网卡逻辑名:
root@ubuntu1410:~# ls /sys/class/net/
eth0 lo
查看指定网卡MAC地址:
eth0 Link encap:以太网 硬件地址 52:54:00:09:e2:11
inet 地址:10.0.3.94 广播:10.0.3.255 掩码:255.255.255.0
inet6 地址: fe80::5054:ff:fe09:e211/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:5512 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:2332 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:351337 (351.3 KB) 发送字节:855606 (855.6 KB)

生成配置文件

root@ubuntu1410:~# export INTERFACE="eth0"
root@ubuntu1410:~# export MATCHADDR="52:54:00:09:e2:11"
root@ubuntu1410:~# /lib/udev/write_net_rules # 生成命令
root@ubuntu1410:~# ls /etc/udev/rules.d/
70-persistent-net.rules 首先引入两个变量INTERFACE,MATCHADDR,然后执行write_net_rules,查看生成的文件70-persistent-net.rules
 
文件内容如下,删除KERNEL项,并修改NAME值。
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:09:e2:11", KERNEL=="eth*", NAME="eth0"修改后:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:09:e2:11", NAME="em0"

禁用源网卡逻辑名规则文件

root@ubuntu1410:/etc/udev/rules.d# cd /lib/udev/rules.d/
root@ubuntu1410:/lib/udev/rules.d# mv 75-persistent-net-generator.rules 75-persistent-net-generator.rules.disabled

修改网卡配置

root@ubuntu1410:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 10.0.3.94
gateway 10.0.3.1
netmask 255.255.255.0
dns-nameservers 222.222.222.222修改后:
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto em0
iface em0 inet static
address 10.0.3.94
gateway 10.0.3.1
netmask 255.255.255.0
dns-nameservers 222.222.222.222不需要重启网卡,直接重启系统。
 

重启后查看新的网卡逻辑名

root@ubuntu1410:~# ls /sys/class/net/
em0 lo
root@ubuntu1410:~# ifconfig em0
em0 Link encap:以太网 硬件地址 52:54:00:09:e2:11
inet 地址:10.0.3.94 广播:10.0.3.255 掩码:255.255.255.0
inet6 地址: fe80::5054:ff:fe09:e211/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:8413 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:3456 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:525779 (525.7 KB) 发送字节:1092548 (1.0 MB)

root@ubuntu1410:~#到这里,网卡逻辑名称就修改完成了。 查看全部
Ubuntu安装完毕之后,如果发生异常宕机,可能导致网卡的逻辑名出现异常,或者和之前的不一致。如果你的应用处理是依据逻辑名,那么有可能数据会传输到非预期的网卡接口上去,今天我们看看在Ubuntu14.10 下网卡固话的过程。
 


网卡信息查询​


eth0       Link encap:以太网  硬件地址 52:54:00:09:e2:11  
inet 地址:10.0.3.94 广播:10.0.3.255 掩码:255.255.255.0
inet6 地址: fe80::5054:ff:fe09:e211/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:4541 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:1908 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:288707 (288.7 KB) 发送字节:691213 (691.2 KB)

lo Link encap:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0
inet6 地址: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 跃点数:1
接收数据包:2503 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:2503 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:0
接收字节:836481 (836.4 KB) 发送字节:836481 (836.4 KB)
上述HWaddr后面为eth0接口的MAC地址:  52:54:00:09:e2:11
 
查看已有网卡逻辑名:
root@ubuntu1410:~# ls /sys/class/net/  
eth0 lo

查看指定网卡MAC地址:
eth0       Link encap:以太网  硬件地址 52:54:00:09:e2:11  
inet 地址:10.0.3.94 广播:10.0.3.255 掩码:255.255.255.0
inet6 地址: fe80::5054:ff:fe09:e211/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:5512 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:2332 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:351337 (351.3 KB) 发送字节:855606 (855.6 KB)


生成配置文件


root@ubuntu1410:~# export INTERFACE="eth0"  
root@ubuntu1410:~# export MATCHADDR="52:54:00:09:e2:11"
root@ubuntu1410:~# /lib/udev/write_net_rules # 生成命令
root@ubuntu1410:~# ls /etc/udev/rules.d/
70-persistent-net.rules
首先引入两个变量INTERFACE,MATCHADDR,然后执行write_net_rules,查看生成的文件70-persistent-net.rules
 
文件内容如下,删除KERNEL项,并修改NAME值。
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:09:e2:11", KERNEL=="eth*", NAME="eth0"
修改后:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:09:e2:11",  NAME="em0"


禁用源网卡逻辑名规则文件


root@ubuntu1410:/etc/udev/rules.d# cd /lib/udev/rules.d/  
root@ubuntu1410:/lib/udev/rules.d# mv 75-persistent-net-generator.rules 75-persistent-net-generator.rules.disabled


修改网卡配置


root@ubuntu1410:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 10.0.3.94
gateway 10.0.3.1
netmask 255.255.255.0
dns-nameservers 222.222.222.222
修改后:
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto em0
iface em0 inet static
address 10.0.3.94
gateway 10.0.3.1
netmask 255.255.255.0
dns-nameservers 222.222.222.222
不需要重启网卡,直接重启系统。
 


重启后查看新的网卡逻辑名


root@ubuntu1410:~# ls /sys/class/net/
em0 lo
root@ubuntu1410:~# ifconfig em0
em0 Link encap:以太网 硬件地址 52:54:00:09:e2:11
inet 地址:10.0.3.94 广播:10.0.3.255 掩码:255.255.255.0
inet6 地址: fe80::5054:ff:fe09:e211/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:8413 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:3456 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:525779 (525.7 KB) 发送字节:1092548 (1.0 MB)

root@ubuntu1410:~#
到这里,网卡逻辑名称就修改完成了。

搜索引擎科学上网技能大放送

Nock 发表了文章 • 0 个评论 • 86 次浏览 • 2017-01-13 00:06 • 来自相关话题

在今天,用户可以通过搜索引擎轻松找出自己想要的信息,但还是难以避免结果不尽如人意的情况。实际上,用户仅需掌握几个常用技巧即可轻松化解这种尴尬。
 
正常情况下我们搜索的关键是正确的关键词和搜搜引擎的选择,通过正确的搜索我们能得到答案的问题可以到80%以上。

常用引擎推荐

No.1 谷歌(https://google.com)




No.2 百度 (https://www.baidu.com/)




No.3 鸭鸭快跑 (https://duckduckgo.com/)




No.4 必应 (http://cn.bing.com/ )




No.5 搜狗 (https://www.sogou.com/)





排错搜索过程






1、准确搜索

最简单、有效的准确搜索方式是在关键词上加上双引号,在这种情况下,搜索引擎只会反馈和关键词完全吻合的搜索结果, 把搜索词放在双引号中,代表完全匹配搜索,也就是说搜索结果返回的页面包含双引号中出现的所有的词,连顺序也必 须完全匹配.

比方说在搜索「zabbix mysql」的时候,在没有给关键词加上双引号的情况,搜索引擎会显示所有分别和「zabbix」以及「mysql」相关的信息,但这些显然并不是我们想要的结果。但在加上双引号后,搜索引擎则仅会在页面上反馈和「zabbix mysql」相吻合的信息。

准确搜索在排除常见但相近度偏低的信息时非常有用,可以为用户省去再度对结果进行筛选的麻烦。





2、加号

在搜索引擎框里把多个关键字用加号(+)连接起来,搜索引擎就会自动去匹配互联网上与所有关键词相关的内容,默认与 空格等效,百度和Google都支持。





3、减号-排除关键词

如果在进行准确搜索时没有找到自己想要的结果,用户可以对包含特定词汇的信息进行排除,仅需使用减号即可。

减号代表搜索不包含减号后面的词的页面。使用这个指令时减号前面必须是空格,减号后面没有空格,紧跟着需要排除的词 。





4、OR或逻辑搜索

在默认搜索下,搜索引擎会反馈所有和查询词汇相关的结果,但通过使用「OR」逻辑,你可以得到和两个关键词分别相关的结果,而不仅仅是和两个关键词 都同时相关的结果。巧妙使用「OR」搜索可以让你在未能确定哪个关键词对于搜索结果起决定作用时依然可以确保搜索结果的准确性。





5、同义词搜索​

有时候对不太确切的关键词进行搜索反而会显得更加合适。在未能准确判断关键词的情况下,你可以通过同义词进行搜索。

如果你在搜索引擎输入「plumbing ~university」,你所得到的反馈结果会包含「plumbing universities」和「plumbing colleges」等相似条目。





6、善用星号

正如拼图游戏「Scrabble」的空白方块一样,在搜索引擎中,我们可以用星号填补关键词中的缺失部分,不论缺失的是一连串单词的其中一个还是一个单词的某一部分。此外,当你希望搜索一篇确定性偏低的文章时,也可以使用星号填补缺失部分。

例如,如果你在搜索引擎中输入「architect*」,你所得到的反馈结果将会是所有包含 architect、architectural、architecture、architected、architecting 以及其他所有以「architect」作为开头的词汇的条目。

常用的案例:搜索报错中的特定路径 , 有个词忘记了或者不会打:





7、在两个数值之间进行搜索

在寻找问题的答案时,一个很好的方法是在一定范围内寻找和关键词相关的资讯。例如想要找出 1920 至 1950 年间的英国首相,直接在搜索引擎中输入「英国首相 1920.. 1950」即可得出想要的结果。

记住,数值之间的符号是两个英文句号加一个空格键。





8、inurl  

该指令用于搜索查询词出现在url中的页面。BaiDu和Google都支持inurl指令。inurl指令支持中文和英文。 比如搜索:inurl:hadoop,返回的结果都是网址url中包含“hadoop”的页面。由于关键词出现在url 中对排名有一定影响,使用inurl:搜索可以更准确地找到与关键字相关的内容。
 
例如:inurl:openskill hadoop





9、intitle在网页标题、链接和主体中搜索关键词

有时你或许会遇上找出所有和关键词相关的所有网页标题、链接和网页主体的需求,在这个时候你需要使用的是限定词「inurl:」(供在 url 链接中搜索使用)、「intext:」(供在网页主体中搜索使用)以及「intitle:」(供在网页标题中搜索使用)。
 
使用intitle 指令找到的文件更为准确。出现在title中,说明页面内容跟关键字有很大关联。





10、allintitle

allintitle:搜索返回的是页面标题中包含多组关键词的文件。例如 :allintitle:zabbix docker,就相当于:intitle:zabbix intitle:docker,返回的是标题中中既包含“zabbix”,也包含“docker”的页面,显著提高搜索命中率。





11、allinurl

与allintitle: 类似,allinurl:zabbix hadoop,就相当于 :inurl:zabbix inurl:hadoop 





12、site站内搜索

绝大部分网站的搜索功能都有所欠缺,因此,更好的方法是通过 Google 等搜索引擎对站内的信息进行搜索。

你只需要在搜索引擎上输入「site:openskill.cn」加上关键词,搜索引擎就会反馈网站「openskill.cn」内和关键词相关的所有条目。如果再结合准确搜索功能,这项功能将会变得更加强大。





13、filetype

用于搜索特定文件格式。Google 和bd都支持filetype指令。 比如搜索filetype:pdf docker 返回的就是包含SEO 这个关键词的所有pdf 文件。 





14、搜索相关网站

查找与您已浏览过的网址类似的网站, 例如,你仅需在搜索引擎中输入「related:openskill.cn」即可得到所有和「openskill.cn」相关的网站反馈结果。





15、搜索技能的组合使用

你可以对上述所有搜索技能进行组合运用,以便按照自己的意愿缩小或者扩展搜索范围。尽管有些技能或许并不常用,但准确搜索和站内搜索这些技能的使用范围还是相当广泛的。





其他技巧





随着 Google 等搜索引擎对于用户自然语言的理解程度与日俱增,这些搜索技能可以派上用场的情况或许将会变得越来越少,至少这是所有搜索引擎共同追求的目标。但是在当下,掌握这些搜索技能还是非常必要的。

参考:http://www.cnblogs.com/feiyuhuo/p/5398238.html http://blog.jobbole.com/72211/  查看全部
在今天,用户可以通过搜索引擎轻松找出自己想要的信息,但还是难以避免结果不尽如人意的情况。实际上,用户仅需掌握几个常用技巧即可轻松化解这种尴尬。
 
正常情况下我们搜索的关键是正确的关键词和搜搜引擎的选择,通过正确的搜索我们能得到答案的问题可以到80%以上。


常用引擎推荐


No.1 谷歌https://google.com
google.png

No.2 百度https://www.baidu.com/
baidu.png

No.3 鸭鸭快跑 (https://duckduckgo.com/
duckduckgo.png

No.4 必应 (http://cn.bing.com/ )
bing.png

No.5 搜狗 (https://www.sogou.com/)
sogou.png


排错搜索过程


soerror.png


1、准确搜索


最简单、有效的准确搜索方式是在关键词上加上双引号,在这种情况下,搜索引擎只会反馈和关键词完全吻合的搜索结果, 把搜索词放在双引号中,代表完全匹配搜索,也就是说搜索结果返回的页面包含双引号中出现的所有的词,连顺序也必 须完全匹配.

比方说在搜索「zabbix mysql」的时候,在没有给关键词加上双引号的情况,搜索引擎会显示所有分别和「zabbix」以及「mysql」相关的信息,但这些显然并不是我们想要的结果。但在加上双引号后,搜索引擎则仅会在页面上反馈和「zabbix mysql」相吻合的信息。

准确搜索在排除常见但相近度偏低的信息时非常有用,可以为用户省去再度对结果进行筛选的麻烦。
yinhao.png


2、加号


在搜索引擎框里把多个关键字用加号(+)连接起来,搜索引擎就会自动去匹配互联网上与所有关键词相关的内容,默认与 空格等效,百度和Google都支持。
open-source-tech.png


3、减号-排除关键词


如果在进行准确搜索时没有找到自己想要的结果,用户可以对包含特定词汇的信息进行排除,仅需使用减号即可。

减号代表搜索不包含减号后面的词的页面。使用这个指令时减号前面必须是空格,减号后面没有空格,紧跟着需要排除的词 。
jianhao.png


4、OR或逻辑搜索


在默认搜索下,搜索引擎会反馈所有和查询词汇相关的结果,但通过使用「OR」逻辑,你可以得到和两个关键词分别相关的结果,而不仅仅是和两个关键词 都同时相关的结果。巧妙使用「OR」搜索可以让你在未能确定哪个关键词对于搜索结果起决定作用时依然可以确保搜索结果的准确性。
orlink.png


5、同义词搜索​


有时候对不太确切的关键词进行搜索反而会显得更加合适。在未能准确判断关键词的情况下,你可以通过同义词进行搜索。

如果你在搜索引擎输入「plumbing ~university」,你所得到的反馈结果会包含「plumbing universities」和「plumbing colleges」等相似条目。
daxue.png


6、善用星号


正如拼图游戏「Scrabble」的空白方块一样,在搜索引擎中,我们可以用星号填补关键词中的缺失部分,不论缺失的是一连串单词的其中一个还是一个单词的某一部分。此外,当你希望搜索一篇确定性偏低的文章时,也可以使用星号填补缺失部分。

例如,如果你在搜索引擎中输入「architect*」,你所得到的反馈结果将会是所有包含 architect、architectural、architecture、architected、architecting 以及其他所有以「architect」作为开头的词汇的条目。

常用的案例:搜索报错中的特定路径 , 有个词忘记了或者不会打:
xinhao.png


7、在两个数值之间进行搜索


在寻找问题的答案时,一个很好的方法是在一定范围内寻找和关键词相关的资讯。例如想要找出 1920 至 1950 年间的英国首相,直接在搜索引擎中输入「英国首相 1920.. 1950」即可得出想要的结果。

记住,数值之间的符号是两个英文句号加一个空格键。
kingdom.png


8、inurl  


该指令用于搜索查询词出现在url中的页面。BaiDu和Google都支持inurl指令。inurl指令支持中文和英文。 比如搜索:inurl:hadoop,返回的结果都是网址url中包含“hadoop”的页面。由于关键词出现在url 中对排名有一定影响,使用inurl:搜索可以更准确地找到与关键字相关的内容。
 
例如:inurl:openskill hadoop
inurl.png


9、intitle在网页标题、链接和主体中搜索关键词


有时你或许会遇上找出所有和关键词相关的所有网页标题、链接和网页主体的需求,在这个时候你需要使用的是限定词「inurl:」(供在 url 链接中搜索使用)、「intext:」(供在网页主体中搜索使用)以及「intitle:」(供在网页标题中搜索使用)。
 
使用intitle 指令找到的文件更为准确。出现在title中,说明页面内容跟关键字有很大关联。
intitle.png


10、allintitle


allintitle:搜索返回的是页面标题中包含多组关键词的文件。例如 :allintitle:zabbix docker,就相当于:intitle:zabbix intitle:docker,返回的是标题中中既包含“zabbix”,也包含“docker”的页面,显著提高搜索命中率。
allintitle.png


11、allinurl


与allintitle: 类似,allinurl:zabbix hadoop,就相当于 :inurl:zabbix inurl:hadoop 
allinurl.png


12、site站内搜索


绝大部分网站的搜索功能都有所欠缺,因此,更好的方法是通过 Google 等搜索引擎对站内的信息进行搜索。

你只需要在搜索引擎上输入「site:openskill.cn」加上关键词,搜索引擎就会反馈网站「openskill.cn」内和关键词相关的所有条目。如果再结合准确搜索功能,这项功能将会变得更加强大。
site.png


13、filetype


用于搜索特定文件格式。Google 和bd都支持filetype指令。 比如搜索filetype:pdf docker 返回的就是包含SEO 这个关键词的所有pdf 文件。 
filetype.png


14、搜索相关网站


查找与您已浏览过的网址类似的网站, 例如,你仅需在搜索引擎中输入「related:openskill.cn」即可得到所有和「openskill.cn」相关的网站反馈结果。
relate.png


15、搜索技能的组合使用


你可以对上述所有搜索技能进行组合运用,以便按照自己的意愿缩小或者扩展搜索范围。尽管有些技能或许并不常用,但准确搜索和站内搜索这些技能的使用范围还是相当广泛的。
union.png


其他技巧


other.png

随着 Google 等搜索引擎对于用户自然语言的理解程度与日俱增,这些搜索技能可以派上用场的情况或许将会变得越来越少,至少这是所有搜索引擎共同追求的目标。但是在当下,掌握这些搜索技能还是非常必要的。

参考:http://www.cnblogs.com/feiyuhuo/p/5398238.html http://blog.jobbole.com/72211/ 

企业OpenVPN部署认证实战

欺壹世 发表了文章 • 0 个评论 • 114 次浏览 • 2017-01-04 17:57 • 来自相关话题

相关概念

1、vpn 介绍
vpn 虚拟专用网络,是依靠isp和其他的nsp,在公共网络中建立专用的数据通信网络的技术。在vpn中任意两点之间的链接并没有传统的专网所需的端到端的物理链路,而是利用公共网络资源动态组成的,可以理解为通过私有的隧道技术在公共数据网络上模拟出来的和专网有相同功能的点到点的专线技术,所谓虚拟是指不需要去拉实际的长途物理线路,而是借用公共的Internet网络实现。
 
2、vpn 作用
vpn可以帮助公司用的远程用户(出差,家里)公司的分之机构、商业合作伙伴及供应商等公司和自己的公司内部网络之间建立可信的安全连接或者局域网连接,确保数据的加密安全传输和业务访问,对于运维工程师来说,还可以连接不同的机房为局域网,处理相关的业务流。
 
3、常见vpn功能的开源产品
3.1 pptp vpn  
最大优势在于无需在windows客户端单独安装vpn客户端软件,windows默认就支持pptp vpn拨号功能。他是属于点对点的方式应用,比较适合远程企业用户拨号到企业进行办公等应用,缺点很多小区及网络设备不支持pptp导致无法访问。
 
3.2 SSL VPN(openvpn)
PPTP主要为常在外面移动或者家庭办公的用户考虑的,而OpenVpn不但可以使用与PPTP的场景,还是和针对企业异地两地总分公司之间的vpn不间断按需链接,例如:ERP,OA及时通讯工具等在总分公司企业中的应用,缺点:需要单独安装客户端软件。
 
3.3 IPSEC VPN 
 IPSEC VPN 也适合针对企业异地两地中分公司或者多个IDC机房之间的VPN的不间断按需链接,并且在部署使用上更简单方便。IPSEC Vpn的开源产品openswan.
 
4、openvpn通讯原理
openvpn所有的通讯都基于一个单一的ip端口(默认1194),默认使用udp协议,同时也支持tcp。openvpn能通过大多数的代理服务器,并且能在NAT的环境很好的工作。openvpn服务端具有客户端“推送”某些网络配置信息的功能,这些信息包括,ip地址,路由设置等。 OPenvpn提供了2个虚拟网络接口:通过TUN/Tap驱动,通过他们,可以建立三层IP隧道,或者虚拟二层以太网,后者可以传送任何类型的二层以太网数据。传送的数据可通过LZO算法压缩。openvpn2.0以后版本每个进程可以同时管理数个并发的隧道。
 
5、openvpn协议选择
在选择协议的时候,需要注意2个加密隧道支架你的网络状况,如果高延迟或者丢包较多的情况下,请选择TCP协议作为底层协议,UDP协议由于存在无连接和重传机制,导致隧道上层的协议进行重传,效率非常低下,这里建议用tcp协议方式。
 
6、openvpn的依赖及核心技术
openvpn依赖Openssl,可以使用预设的私钥,第三方证书,用户名密码等进行身份验证。openvpn的技术核心是虚拟网卡,其次是SSL协议实现。
 

服务器端安装部署

相关软件:lzo压缩模块,可加快传输速度,openvpn 主程序。
 
安装环境:centos6.4 x64 下安装
1、安装lzo
# cd /usr/local/src/
# wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
# tar zxf lzo-2.06.tar.gz
# cd lzo-2.06
# ./configure
# make
# make install2、安装openvpn
# yum install -y openssl* -y && cd /usr/local/src/
# wget http://www.openvpn.net/release/openvpn-2.2.2.tar.gz
# tar zxf openvpn-2.2.2.tar.gz
# cd openvpn-2.2.2
# ./configure --with-lzo-headers=/usr/local/include --with-lzo-lib=/usr/local/lib
# make
# make install
安装环境:ubuntu 12.04 x64 下安装
1、主程序安装
# aptitude install openvpn
# aptitude install libpam-dev libpam-mysql libmysql++-dev sasl2-bin2、检查安装
# ls /usr/share/doc/|grep openvpn
openvpn ##发现已经存在。3、生成证书
#cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/
# . ./vars ##### 重成环境变量 以下生成的文件都在/usr/share/doc/openvpn/examples/easy-rsa/2.0/keys 下
# ./clean-all ###用来清除之前生成的所有的key
# ./build-ca ####生成ca.crt ca.key4、建立给server用的certificate & key
#./build-key-server server
##“Common Name” 设成 “server”
##会产生以下文件
01.pem
server.crt
server.csr
server.key5、建立给client用的certificate & key(可以建立多个client)## “Common Name” 设成 “clinet1” 以此类推
# ./build-key client1
##生成
client1.crt
client1.csr
client1.key
# ./build-key client2
# ./build-key client3
##当然,你也可以只生成一个client,我就是这样做的6、建立 Diffie Hellman parameters 和 ta.key# ./build-dh #建立 Diffie Hellman parameters 会生成dh{n}.pem。
# openvpn --genkey --secret ta.key #生成ta.key,防止ddos攻击,client和server同时存储7、拷贝相关文件至/etc/openvpn下。# mv keys/* /etc/openvpn/
# mv ta.key /etc/openvpn/ #不要遗漏8、建立配置文件/etc/openvpn/server.conflocal 10.0.9.10 ###本机IP,这是一个内网IP,不过在路由上已经做了IP 的映射到一个外网ip
port 1194##指定端口
proto tcp #制定协议
dev tun
;tls-server
ca ca.crt
cert server.crt
key server.key
tls-auth ta.key 0
dh dh1024.pem
server 10.8.0.0 255.255.255.0#拨入后的ip段及网关
ifconfig-pool-persist ipp.txt
#push “redirect-gateway” # 自動將 client 的 default gateway 設成經由 VPN server 出去
keepalive 10 120 # 保持連線,每 10 秒 ping 一次,若是 120 秒未收到封包,即認定 client 斷線
comp-lzo #启用压缩
max-clients 20 # 最多同時只能有十個 client
user nobody
group nogroup # vpn daemon 執行時的身份(在非 Windows 平台中使用)
persist-key #当vpn超时后,当重新启动vpn后,保持上一次使用的私钥,而不重新读取私钥。
persist-tun #通过keepalive检测vpn超时后,当重新启动vpn后,保持tun或者tap设备自动链接状态。
status /etc/openvpn/easy-rsa/keys/openvpn-status.log #日志状态信息
log /var/log/openvpn.log #日志文件
verb 3 ## 日志文件冗余。
# 以下二行是將 vpn server 內部的虛擬 ip 機器開放給 client 使用
push "route 10.0.1.0 255.255.255.0"
push "route 10.0.2.0 255.255.255.0"
push "route 10.0.3.0 255.255.255.0"
plugin ./openvpn-auth-pam.so /usr/sbin/openvpn ###这个是用来mysql 认证的,如不需要可注释掉9、开启操作系统的IP转发设置。# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE10、建立mysql认证文件。# vi /etc/pam.d/openvpn
auth sufficient pam_mysql.so user=vpn passwd=vpnjkb host=127.0.0.1:3306 db=vpn \
table=vpnuser usercolumn=name passwdcolumn=password \
where=active=1 sqllog=0 crypt=2 verbose=1
account required pam_mysql.so user=vpn passwd=vpnjkb host=127.0.0.1:3306 db=vpn \
table=vpnuser usercolumn=name passwdcolumn=password \
where=active=1 sqllog=0 crypt=2 verbose=111、创建vpn库、授权、建表mysql> create database vpn;##创建数据库vpn。
mysql> GRANT ALL ON vpn.* TO vpn@localhost IDENTIFIED BY ‘vpnjkb‘;##授权localhost上的用户vpn(密码vpn123)有对数据库vpn的所有操作权限。
mysql> flush privileges;##更新sql数据库的权限设置。
mysql> use vpn;##使用刚创建的的vpn数据库。
mysql> CREATE TABLE vpnuser (
-> name char(20) NOT NULL,
-> password char(128) default NULL,
-> active int(10) NOT NULL DEFAULT 1,
-> PRIMARY KEY (name)
-> );
mysql> insert into vpnuser (name,password) values(’soai’,password(’soai’));
##命令解释:
#创建vpn用户,对vpn这个database有所有操作权限,密码为vpn123
#active不为1,无权使用VPN12、拷贝文件# cp /usr/lib/openvpn/openvpn-auth-pam.so /etc/openvpn/13、可选配置#client-cert-not-required #不请求客户的CA证书,使用User/Pass验证
#username-as-common-name #使用客户提供的UserName作为Common Name
#client-to-client #如果让Client之间可以相互看见,去掉本行的注释掉,否则Client之间无法相互访问
#duplicate-cn #是否允许一个User同时登录多次,去掉本行注释后可以使用同一个用户名登录多次14、下载相关文件给客户端用##下载下列文件
client.crt clinet.key ca.crt ta.key
 
 

客户端配置

1、客户端下载地址:
http://swupdate.openvpn.org/community/releases/openvpn-2.2.2-install.exe   ##windows

http://swupdate.openvpn.org/community/releases/openvpn-2.2.2.tar.gz    ##linux or mac
 
2、创建client.ovpn文件client
dev tun
proto tcp
remote 8.8.8.8 1194 #公网ip 和 端口
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
tls-auth ta.key 1
;comp-lzo
verb 3
auth-user-pass3、把client.ovpn加上之前client.crt  clinet.key ca.crt    ta.key 放入一个config文件夹,并移动至vpn安装的主目录

4、启动客户端,输入用户名密码即可。#用户名密码在服务器端,mysql中添加的用户密码。
 

其他

1、关于auto认证相关可参考:http://b.gkp.cc/2010/08/08/setup-openvpn-with-mysql-auth/  
 
2、后期维护
a、如果后期重新添加key的话
source vars
./build-keyb、后期客户端的吊销source vars
./revoke-full xiaowang #-->会生成crl.pem文件检查keys/index.txt,发现被吊销的用户前面有个R

怎么使吊销的生效呢,就是在server.conf里面加上 #crl-verify /etc/openvpn/keys/crl.pem,然后重启openvpn服务生效。 查看全部
openvpn.png


相关概念


1、vpn 介绍
vpn 虚拟专用网络,是依靠isp和其他的nsp,在公共网络中建立专用的数据通信网络的技术。在vpn中任意两点之间的链接并没有传统的专网所需的端到端的物理链路,而是利用公共网络资源动态组成的,可以理解为通过私有的隧道技术在公共数据网络上模拟出来的和专网有相同功能的点到点的专线技术,所谓虚拟是指不需要去拉实际的长途物理线路,而是借用公共的Internet网络实现。
 
2、vpn 作用
vpn可以帮助公司用的远程用户(出差,家里)公司的分之机构、商业合作伙伴及供应商等公司和自己的公司内部网络之间建立可信的安全连接或者局域网连接,确保数据的加密安全传输和业务访问,对于运维工程师来说,还可以连接不同的机房为局域网,处理相关的业务流。
 
3、常见vpn功能的开源产品
3.1 pptp vpn  
最大优势在于无需在windows客户端单独安装vpn客户端软件,windows默认就支持pptp vpn拨号功能。他是属于点对点的方式应用,比较适合远程企业用户拨号到企业进行办公等应用,缺点很多小区及网络设备不支持pptp导致无法访问。
 
3.2 SSL VPN(openvpn)
PPTP主要为常在外面移动或者家庭办公的用户考虑的,而OpenVpn不但可以使用与PPTP的场景,还是和针对企业异地两地总分公司之间的vpn不间断按需链接,例如:ERP,OA及时通讯工具等在总分公司企业中的应用,缺点:需要单独安装客户端软件。
 
3.3 IPSEC VPN 
 IPSEC VPN 也适合针对企业异地两地中分公司或者多个IDC机房之间的VPN的不间断按需链接,并且在部署使用上更简单方便。IPSEC Vpn的开源产品openswan.
 
4、openvpn通讯原理
openvpn所有的通讯都基于一个单一的ip端口(默认1194),默认使用udp协议,同时也支持tcp。openvpn能通过大多数的代理服务器,并且能在NAT的环境很好的工作。openvpn服务端具有客户端“推送”某些网络配置信息的功能,这些信息包括,ip地址,路由设置等。 OPenvpn提供了2个虚拟网络接口:通过TUN/Tap驱动,通过他们,可以建立三层IP隧道,或者虚拟二层以太网,后者可以传送任何类型的二层以太网数据。传送的数据可通过LZO算法压缩。openvpn2.0以后版本每个进程可以同时管理数个并发的隧道。
 
5、openvpn协议选择
在选择协议的时候,需要注意2个加密隧道支架你的网络状况,如果高延迟或者丢包较多的情况下,请选择TCP协议作为底层协议,UDP协议由于存在无连接和重传机制,导致隧道上层的协议进行重传,效率非常低下,这里建议用tcp协议方式。
 
6、openvpn的依赖及核心技术
openvpn依赖Openssl,可以使用预设的私钥,第三方证书,用户名密码等进行身份验证。openvpn的技术核心是虚拟网卡,其次是SSL协议实现。
 


服务器端安装部署


相关软件:lzo压缩模块,可加快传输速度,openvpn 主程序。
 
安装环境:centos6.4 x64 下安装
1、安装lzo
# cd /usr/local/src/
# wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
# tar zxf lzo-2.06.tar.gz
# cd lzo-2.06
# ./configure
# make
# make install
2、安装openvpn
# yum install -y openssl* -y  && cd /usr/local/src/
# wget http://www.openvpn.net/release/openvpn-2.2.2.tar.gz
# tar zxf openvpn-2.2.2.tar.gz
# cd openvpn-2.2.2
# ./configure --with-lzo-headers=/usr/local/include --with-lzo-lib=/usr/local/lib
# make
# make install

安装环境:ubuntu 12.04 x64 下安装
1、主程序安装
# aptitude install openvpn
# aptitude install libpam-dev libpam-mysql libmysql++-dev sasl2-bin
2、检查安装
# ls /usr/share/doc/|grep openvpn
openvpn ##发现已经存在。
3、生成证书
#cd  /usr/share/doc/openvpn/examples/easy-rsa/2.0/ 
# . ./vars ##### 重成环境变量 以下生成的文件都在/usr/share/doc/openvpn/examples/easy-rsa/2.0/keys 下
# ./clean-all ###用来清除之前生成的所有的key
# ./build-ca ####生成ca.crt ca.key
4、建立给server用的certificate & key
#./build-key-server server 
##“Common Name” 设成 “server”
##会产生以下文件
01.pem
server.crt
server.csr
server.key
5、建立给client用的certificate & key(可以建立多个client)
## “Common Name” 设成 “clinet1” 以此类推
# ./build-key client1
##生成
client1.crt
client1.csr
client1.key
# ./build-key client2
# ./build-key client3
##当然,你也可以只生成一个client,我就是这样做的
6、建立 Diffie Hellman parameters 和 ta.key
#  ./build-dh #建立 Diffie Hellman parameters 会生成dh{n}.pem。
# openvpn --genkey --secret ta.key #生成ta.key,防止ddos攻击,client和server同时存储
7、拷贝相关文件至/etc/openvpn下。
# mv keys/* /etc/openvpn/
# mv ta.key /etc/openvpn/ #不要遗漏
8、建立配置文件/etc/openvpn/server.conf
local 10.0.9.10 ###本机IP,这是一个内网IP,不过在路由上已经做了IP 的映射到一个外网ip
port 1194##指定端口
proto tcp #制定协议
dev tun
;tls-server
ca ca.crt
cert server.crt
key server.key
tls-auth ta.key 0
dh dh1024.pem
server 10.8.0.0 255.255.255.0#拨入后的ip段及网关
ifconfig-pool-persist ipp.txt
#push “redirect-gateway” # 自動將 client 的 default gateway 設成經由 VPN server 出去
keepalive 10 120 # 保持連線,每 10 秒 ping 一次,若是 120 秒未收到封包,即認定 client 斷線
comp-lzo #启用压缩
max-clients 20 # 最多同時只能有十個 client
user nobody
group nogroup # vpn daemon 執行時的身份(在非 Windows 平台中使用)
persist-key #当vpn超时后,当重新启动vpn后,保持上一次使用的私钥,而不重新读取私钥。
persist-tun #通过keepalive检测vpn超时后,当重新启动vpn后,保持tun或者tap设备自动链接状态。
status /etc/openvpn/easy-rsa/keys/openvpn-status.log #日志状态信息
log /var/log/openvpn.log #日志文件
verb 3 ## 日志文件冗余。
# 以下二行是將 vpn server 內部的虛擬 ip 機器開放給 client 使用
push "route 10.0.1.0 255.255.255.0"
push "route 10.0.2.0 255.255.255.0"
push "route 10.0.3.0 255.255.255.0"
plugin ./openvpn-auth-pam.so /usr/sbin/openvpn ###这个是用来mysql 认证的,如不需要可注释掉
9、开启操作系统的IP转发设置。
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
10、建立mysql认证文件。
# vi /etc/pam.d/openvpn
auth sufficient pam_mysql.so user=vpn passwd=vpnjkb host=127.0.0.1:3306 db=vpn \
table=vpnuser usercolumn=name passwdcolumn=password \
where=active=1 sqllog=0 crypt=2 verbose=1
account required pam_mysql.so user=vpn passwd=vpnjkb host=127.0.0.1:3306 db=vpn \
table=vpnuser usercolumn=name passwdcolumn=password \
where=active=1 sqllog=0 crypt=2 verbose=1
11、创建vpn库、授权、建表
mysql> create database vpn;##创建数据库vpn。
mysql> GRANT ALL ON vpn.* TO vpn@localhost IDENTIFIED BY ‘vpnjkb‘;##授权localhost上的用户vpn(密码vpn123)有对数据库vpn的所有操作权限。
mysql> flush privileges;##更新sql数据库的权限设置。
mysql> use vpn;##使用刚创建的的vpn数据库。
mysql> CREATE TABLE vpnuser (
-> name char(20) NOT NULL,
-> password char(128) default NULL,
-> active int(10) NOT NULL DEFAULT 1,
-> PRIMARY KEY (name)
-> );
mysql> insert into vpnuser (name,password) values(’soai’,password(’soai’));
##命令解释:
#创建vpn用户,对vpn这个database有所有操作权限,密码为vpn123
#active不为1,无权使用VPN
12、拷贝文件
# cp /usr/lib/openvpn/openvpn-auth-pam.so /etc/openvpn/
13、可选配置
#client-cert-not-required #不请求客户的CA证书,使用User/Pass验证
#username-as-common-name #使用客户提供的UserName作为Common Name
#client-to-client #如果让Client之间可以相互看见,去掉本行的注释掉,否则Client之间无法相互访问
#duplicate-cn #是否允许一个User同时登录多次,去掉本行注释后可以使用同一个用户名登录多次
14、下载相关文件给客户端用
##下载下列文件
client.crt clinet.key ca.crt ta.key

 
 


客户端配置


1、客户端下载地址:
http://swupdate.openvpn.org/community/releases/openvpn-2.2.2-install.exe   ##windows

http://swupdate.openvpn.org/community/releases/openvpn-2.2.2.tar.gz    ##linux or mac
 
2、创建client.ovpn文件
client
dev tun
proto tcp
remote 8.8.8.8 1194 #公网ip 和 端口
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
tls-auth ta.key 1
;comp-lzo
verb 3
auth-user-pass
3、把client.ovpn加上之前client.crt  clinet.key ca.crt    ta.key 放入一个config文件夹,并移动至vpn安装的主目录

4、启动客户端,输入用户名密码即可。#用户名密码在服务器端,mysql中添加的用户密码。
 


其他


1、关于auto认证相关可参考:http://b.gkp.cc/2010/08/08/setup-openvpn-with-mysql-auth/  
 
2、后期维护
a、如果后期重新添加key的话
source vars
./build-key
b、后期客户端的吊销
source vars
./revoke-full xiaowang #-->会生成crl.pem文件
检查keys/index.txt,发现被吊销的用户前面有个R

怎么使吊销的生效呢,就是在server.conf里面加上 #crl-verify /etc/openvpn/keys/crl.pem,然后重启openvpn服务生效。

部署管理工具:Chef vs Puppet vs Ansible vs SaltStack vs Fabric

OS小编 发表了文章 • 0 个评论 • 169 次浏览 • 2016-12-28 16:09 • 来自相关话题

Chef,Puppet,Ansible,SaltStack和Fabric的利弊是什么?

今天的生产经常意味着连续部署和分布在世界各地的环境。 当您的基础架构是分散式和基于云的,并且您正在处理在大部分相同的服务器上频繁部署大致相同的服务时,有一种方法来自动化配置和维护一切都是一大福音。 部署管理工具和配置管理工具是为此目的而设计的。 它们使您能够使用配方,剧本,模板或任何术语来简化环境中的自动化和编排,以提供标准,一致的部署。

在此空间中选择工具时,请记住几个注意事项。 一个是工具的模型。 一些需要主客户端模型,其使用集中控制点来与分布式机器通信,而其他人可以或者在更多本地级别上操作。 另一个考虑是你的环境的组成。 一些工具以不同的语言编写,并且对特定操作系统或设置的支持可以不同。 确保您选择的工具与您的环境和您的团队的特殊技能很好地融合在一起可以为您节省很多头痛。

1、Ansible





Ansible是用于在可重复的方式将应用程序部署到远程节点和配置服务器的开源工具。 它为您提供了使用推送模型设置推送多层应用程序和应用程序工件的通用框架,但如果愿意,您可以将其设置为主客户端。 Ansible是建立在playbooks,你可以应用于各种各样的系统部署你的应用程序。
 




这是Ansible Tower仪表板。
 
何时使用:如果起床和快速运行,方便地对你很重要,你不想安装在远程节点或托管服务器代理商,考虑Ansible。 如果你的需要或焦点更多在系统管理员方面,这是很好。 Ansible专注于精简和快速,所以如果这些是你的关键问题,给它一个镜头。
 
价格:有免费的开源版本,付费的Ansible Tower在$ 5,000每年(它给你多达100个节点)支付计划。
 
优点:
基于SSH,因此不需要在远程节点上安装任何代理。使用YAML语法易于学习。Playbook结构简单,结构清晰。具有可变注册功能,可使任务为以后的任务注册变量比一些其他工具更加精简的代码库
 缺点:
不如基于其他编程语言的工具强大。它的逻辑通过它的DSL,这意味着检查文档经常,直到你学习它即使是基本功能,也需要变量注册,这使得更简单的任务更复杂内省很差。 很难看到playbooks里的变量的价值输入,输出和配置文件的格式之间不一致性能和速度有待加强
Ansible介绍视频: https://www.youtube.com/watch?v=iVWmbStE1MM 

2、chef





Chef是配置管理的开源工具,专注于开发方为它的用户群。 厨师作为主客户端模型运行,具有控制主人所需的单独的工作站。 它基于Ruby,用纯Ruby编写的大多数元素。 厨师的设计是透明的,并根据它给出的说明,这意味着你必须确保你的说明是清楚的。
 




Chef DashBoard
 
何时使用:考虑使用Chef的时候需要保证你会使用Git/Ruby 因为书写配置的时候你会用到的。 Chef非常适合以开发为中心的团队和环境。 它对于寻找一个更加成熟的解决方案的企业非常适合异构环境。
 
价格:有免费的开源版本,每月的基础上的价格每节点的标准,保费计划,可以在高音量踏踏实实地分别为$ 6 /节点/月或$ 6.75 /节点/月。
 
优点:
丰富的模块和配置配方集合。代码驱动的方法为您的配置提供更多的控制和灵活性。围绕Git提供强大的版本控制功能。“Knife”工具(使用SSH从工作站部署代理)减轻了安装负担。
 
缺点:
如果你还不熟悉Ruby和过程编码,学习曲线是很陡峭的。这不是一个简单的工具,这可能导致大的代码库和复杂的环境。不支持推送功能。
Chef介绍视频:https://www.youtube.com/watch?v=kDeRHgnuDzc 

3、Fabric





Fabric是在应用程序部署精简SSH一个基于Python的工具。 它主要用于跨多个远程系统运行任务,但也可以使用插件扩展以提供更高级的功能。 Fabric将配置您的系统,执行系统/服务器管理,并自动部署您的应用程序。
 
何时使用:如果你只是在部署自动化领域起步的,Fabric是一个很好的起点。 如果你的环境涉及至少一点点Python,它是有帮助的。
 
价格:免费
 
优点:
擅长部署以任何语言编写的应用程序。 它不依赖于系统架构,而是OS和包管理器。比这个领域的其他工具更简单,更容易部署与SSH进行广泛集成,实现基于脚本的精简
 
缺点:
Fabric是单点故障设置(通常是您运行部署的机器)使用推模型,因此不太适合连续部署模型作为这个空间中的一些其他工具虽然它是用于在大多数语言中部署应用程序的一个很好的工具,但它需要Python运行,因此您的Fabric环境中必须至少有一个Python。
Fabric介绍视频:https://www.youtube.com/watch?v=VmcGuKPpWH8 

4、Puppet





Puppet是在全面配置管理空间长期工具之一。 它是一个开源工具,但考虑到它已经存在多久,它已经被良好的审查和部署在一些最大和最苛刻的环境中。 Puppet基于Ruby,但是使用更接近JSON的定制的域脚本语言(DSL)来在其中工作。 它作为主客户端设置运行,并使用模型驱动方法。 Puppet代码设计作为依赖关系列表,这可以使事情更容易或更混乱,这取决于您的设置。





Puppet企业仪表板
 
何时使用: Puppet是一个不错的选择,稳定性和成熟是你选择的关键因素。 它对于DevOps团队具有异构环境和技能范围的大型企业很有好处。
 
价格:Puppet可以使用免费开源版本,同时也提供收费企业版每年每节点$ 112与批量折扣付费商业企业版本。
 
优点:
通过Puppet Labs建立良好的支持社区。它有最成熟的接口,几乎在每个操作系统上运行。简单的安装和初始设置。在这个空间中最完整的Web UI。强大的报告功能。
 
缺点:
对于更高级的任务,您将需要使用基于Ruby的CLI(这意味着您必须理解Ruby)。支持纯Ruby版本(而不是使用Puppet的定制DSL)正在缩减。由于DSL和一个不专注于简单性的设计,Puppet代码库可能会变得庞大,笨重,难以在更高规模的组织中接纳新用户。与代码驱动方法相比,模型驱动方法意味着更少的控制。
Puppet介绍视频:https://www.youtube.com/watch?v=j8ImF23jZAg 

5、SaltStack





SaltStack(或Salt)是一个基于命令行的工具,可以设置一个主客户端模式还是非集中模式。 Salt基于Python,提供了一种推送方法和一种与客户端通信的SSH方法。 Salt允许对客户端和配置模板进行分组,以简化对环境的控制。
 
何时使用:Salt是一种不错的选择,如果可扩展性和永续性是一个大问题, 它对系统管理员很有好处,因为它的可用性比较好。
 
价格:免费的开源版本,这是基于每年每节点订阅的基础上SaltStack Enterprise版本。 具体定价不在他们的网站上列出(只是“联系我们”链接),但其他人报告每个节点每年150美元起点。
 
优点:
一旦您完成设置阶段,即可轻松组织和使用。他们的DSL是功能丰富,并不是逻辑和状态所必需的。输入,输出和配置非常一致 - 所有YAML。内省是非常好的。 很容易看到Salt内发生了什么。强大的社区。在主模型中具有minions和层级层次的高可扩展性和弹性。
 
缺点:
很难设置和挑选新用户。文档在介绍层面很难理解。Web UI比空间中的其他工具的Web UI更新,更不完整。对非Linux操作系统不是很大的支持。
SaltStack介绍视频:https://www.youtube.com/watch?v=TQjE2I8CrzQ 

Ansible vs. Chef vs. Fabric vs. Puppet vs. SaltStack

使用哪种配置管理或部署自动化工具将取决于您的环境的需求和首选项。 Chef和Puppet是一些较老的,更成熟的选择,使它们适合于那些重视成熟度和稳定性而不是简单性的大型企业和环境。 Ansible和SaltStack是那些寻求快速和简单的解决方案,而在不需要支持quirky功能或大量的操作系统的环境中工作的人的好选择。 面料是小型环境和那些寻求更低升力和入门级解决方案的好工具。
 
英文原文:http://blog.takipi.com/deployment-management-tools-chef-vs-puppet-vs-ansible-vs-saltstack-vs-fabric/  查看全部
chef.puppet_.ansibe_.saltstack_.fabric_.png


Chef,Puppet,Ansible,SaltStack和Fabric的利弊是什么?


今天的生产经常意味着连续部署和分布在世界各地的环境。 当您的基础架构是分散式和基于云的,并且您正在处理在大部分相同的服务器上频繁部署大致相同的服务时,有一种方法来自动化配置和维护一切都是一大福音。 部署管理工具和配置管理工具是为此目的而设计的。 它们使您能够使用配方,剧本,模板或任何术语来简化环境中的自动化和编排,以提供标准,一致的部署。

在此空间中选择工具时,请记住几个注意事项。 一个是工具的模型。 一些需要主客户端模型,其使用集中控制点来与分布式机器通信,而其他人可以或者在更多本地级别上操作。 另一个考虑是你的环境的组成。 一些工具以不同的语言编写,并且对特定操作系统或设置的支持可以不同。 确保您选择的工具与您的环境和您的团队的特殊技能很好地融合在一起可以为您节省很多头痛。


1、Ansible


ansible.png

Ansible是用于在可重复的方式将应用程序部署到远程节点和配置服务器的开源工具。 它为您提供了使用推送模型设置推送多层应用程序和应用程序工件的通用框架,但如果愿意,您可以将其设置为主客户端。 Ansible是建立在playbooks,你可以应用于各种各样的系统部署你的应用程序。
 
AnsibleDashboard.jpg

这是Ansible Tower仪表板。
 
何时使用:如果起床和快速运行,方便地对你很重要,你不想安装在远程节点或托管服务器代理商,考虑Ansible。 如果你的需要或焦点更多在系统管理员方面,这是很好。 Ansible专注于精简和快速,所以如果这些是你的关键问题,给它一个镜头。
 
价格:有免费的开源版本,付费的Ansible Tower在$ 5,000每年(它给你多达100个节点)支付计划。
 
优点:
  • 基于SSH,因此不需要在远程节点上安装任何代理。
  • 使用YAML语法易于学习。
  • Playbook结构简单,结构清晰。
  • 具有可变注册功能,可使任务为以后的任务注册变量
  • 比一些其他工具更加精简的代码库

 缺点
  • 不如基于其他编程语言的工具强大。
  • 它的逻辑通过它的DSL,这意味着检查文档经常,直到你学习它
  • 即使是基本功能,也需要变量注册,这使得更简单的任务更复杂
  • 内省很差。 很难看到playbooks里的变量的价值
  • 输入,输出和配置文件的格式之间不一致
  • 性能和速度有待加强

Ansible介绍视频: https://www.youtube.com/watch?v=iVWmbStE1MM 


2、chef


chef.png

Chef是配置管理的开源工具,专注于开发方为它的用户群。 厨师作为主客户端模型运行,具有控制主人所需的单独的工作站。 它基于Ruby,用纯Ruby编写的大多数元素。 厨师的设计是透明的,并根据它给出的说明,这意味着你必须确保你的说明是清楚的。
 
ChefBoard.jpg

Chef DashBoard
 
何时使用:考虑使用Chef的时候需要保证你会使用Git/Ruby 因为书写配置的时候你会用到的。 Chef非常适合以开发为中心的团队和环境。 它对于寻找一个更加成熟的解决方案的企业非常适合异构环境。
 
价格:有免费的开源版本,每月的基础上的价格每节点的标准,保费计划,可以在高音量踏踏实实地分别为$ 6 /节点/月或$ 6.75 /节点/月。
 
优点
  • 丰富的模块和配置配方集合。
  • 代码驱动的方法为您的配置提供更多的控制和灵活性。
  • 围绕Git提供强大的版本控制功能。
  • “Knife”工具(使用SSH从工作站部署代理)减轻了安装负担。

 
缺点:
  • 如果你还不熟悉Ruby和过程编码,学习曲线是很陡峭的。
  • 这不是一个简单的工具,这可能导致大的代码库和复杂的环境。
  • 不支持推送功能。

Chef介绍视频:https://www.youtube.com/watch?v=kDeRHgnuDzc 


3、Fabric


fabric.png

Fabric是在应用程序部署精简SSH一个基于Python的工具。 它主要用于跨多个远程系统运行任务,但也可以使用插件扩展以提供更高级的功能。 Fabric将配置您的系统,执行系统/服务器管理,并自动部署您的应用程序。
 
何时使用:如果你只是在部署自动化领域起步的,Fabric是一个很好的起点。 如果你的环境涉及至少一点点Python,它是有帮助的。
 
价格:免费
 
优点:
  • 擅长部署以任何语言编写的应用程序。 它不依赖于系统架构,而是OS和包管理器。
  • 比这个领域的其他工具更简单,更容易部署
  • 与SSH进行广泛集成,实现基于脚本的精简

 
缺点:
  • Fabric是单点故障设置(通常是您运行部署的机器)
  • 使用推模型,因此不太适合连续部署模型作为这个空间中的一些其他工具
  • 虽然它是用于在大多数语言中部署应用程序的一个很好的工具,但它需要Python运行,因此您的Fabric环境中必须至少有一个Python。

Fabric介绍视频:https://www.youtube.com/watch?v=VmcGuKPpWH8 


4、Puppet


Puppet.png

Puppet是在全面配置管理空间长期工具之一。 它是一个开源工具,但考虑到它已经存在多久,它已经被良好的审查和部署在一些最大和最苛刻的环境中。 Puppet基于Ruby,但是使用更接近JSON的定制的域脚本语言(DSL)来在其中工作。 它作为主客户端设置运行,并使用模型驱动方法。 Puppet代码设计作为依赖关系列表,这可以使事情更容易或更混乱,这取决于您的设置。

PuppetBoard.jpg

Puppet企业仪表板
 
何时使用: Puppet是一个不错的选择,稳定性和成熟是你选择的关键因素。 它对于DevOps团队具有异构环境和技能范围的大型企业很有好处。
 
价格:Puppet可以使用免费开源版本,同时也提供收费企业版每年每节点$ 112与批量折扣付费商业企业版本。
 
优点:
  • 通过Puppet Labs建立良好的支持社区。
  • 它有最成熟的接口,几乎在每个操作系统上运行。
  • 简单的安装和初始设置。
  • 在这个空间中最完整的Web UI。
  • 强大的报告功能。

 
缺点:
  • 对于更高级的任务,您将需要使用基于Ruby的CLI(这意味着您必须理解Ruby)。
  • 支持纯Ruby版本(而不是使用Puppet的定制DSL)正在缩减。
  • 由于DSL和一个不专注于简单性的设计,Puppet代码库可能会变得庞大,笨重,难以在更高规模的组织中接纳新用户。
  • 与代码驱动方法相比,模型驱动方法意味着更少的控制。

Puppet介绍视频:https://www.youtube.com/watch?v=j8ImF23jZAg 


5、SaltStack


saltstack.png

SaltStack(或Salt)是一个基于命令行的工具,可以设置一个主客户端模式还是非集中模式。 Salt基于Python,提供了一种推送方法和一种与客户端通信的SSH方法。 Salt允许对客户端和配置模板进行分组,以简化对环境的控制。
 
何时使用:Salt是一种不错的选择,如果可扩展性和永续性是一个大问题, 它对系统管理员很有好处,因为它的可用性比较好。
 
价格:免费的开源版本,这是基于每年每节点订阅的基础上SaltStack Enterprise版本。 具体定价不在他们的网站上列出(只是“联系我们”链接),但其他人报告每个节点每年150美元起点。
 
优点
  • 一旦您完成设置阶段,即可轻松组织和使用。
  • 他们的DSL是功能丰富,并不是逻辑和状态所必需的。
  • 输入,输出和配置非常一致 - 所有YAML。
  • 内省是非常好的。 很容易看到Salt内发生了什么。
  • 强大的社区。
  • 在主模型中具有minions和层级层次的高可扩展性和弹性。

 
缺点:
  • 很难设置和挑选新用户。
  • 文档在介绍层面很难理解。
  • Web UI比空间中的其他工具的Web UI更新,更不完整。
  • 对非Linux操作系统不是很大的支持。

SaltStack介绍视频:https://www.youtube.com/watch?v=TQjE2I8CrzQ 


Ansible vs. Chef vs. Fabric vs. Puppet vs. SaltStack


使用哪种配置管理或部署自动化工具将取决于您的环境的需求和首选项。 Chef和Puppet是一些较老的,更成熟的选择,使它们适合于那些重视成熟度和稳定性而不是简单性的大型企业和环境。 Ansible和SaltStack是那些寻求快速和简单的解决方案,而在不需要支持quirky功能或大量的操作系统的环境中工作的人的好选择。 面料是小型环境和那些寻求更低升力和入门级解决方案的好工具。
 
英文原文:http://blog.takipi.com/deployment-management-tools-chef-vs-puppet-vs-ansible-vs-saltstack-vs-fabric/ 

国内开源镜像站汇总分享

OS小编 发表了文章 • 0 个评论 • 128 次浏览 • 2016-12-27 17:43 • 来自相关话题

企业开源站

搜狐开源镜像站:http://mirrors.sohu.com/  
网易开源镜像站:http://mirrors.163.com/  
阿里开源镜像站:   http://mirrors.aliyun.com/ 
首都在线镜像站:http://mirrors.yun-idc.com/  
贝特康姆镜像站:http://centos.bitcomm.cn/  
Centos官方镜像: http://mirror-status.centos.org/  
 
 

大学教学站

中山大学镜像:http://mirror.sysu.edu.cn/ 
山东理工大学:http://mirrors.sdutlinux.org/ 
哈尔滨工业大学:http://run.hit.edu.cn/ 
中国地质大学:http://cugbteam.org/ 
大连理工大学:http://mirror.dlut.edu.cn/ 
西南林业大学 http://cs3.swfu.edu.cn/cs3guide.html 
北京化工大学(仅教育网可以访问),包含 CentOS 镜像:http://ubuntu.buct.edu.cn/ 
天津大学:http://mirror.tju.edu.cn/ 
西南大学:http://linux.swu.edu.cn/swudownload/Distributions/ 
青岛大学:http://mirror.qdu.edu.cn/ 
南京师范大学:http://mirrors.njnu.edu.cn/ 
大连东软信息学院: http://mirrors.neusoft.edu.cn/ 
浙江大学:http://mirrors.zju.edu.cn/ 
兰州大学:http://mirror.lzu.edu.cn/ 
厦门大学:http://mirrors.xmu.edu.cn/ 

北京理工大学:
http://mirror.bit.edu.cn   (IPv4 only)
http://mirror.bit6.edu.cn   (IPv6 only)

北京交通大学:
http://mirror.bjtu.edu.cn   (IPv4 only)
http://mirror6.bjtu.edu.cn   (IPv6 only)
http://debian.bjtu.edu.cn   (IPv4+IPv6)

上海交通大学:
http://ftp.sjtu.edu.cn/   (IPv4 only)
http://ftp6.sjtu.edu.cn   (IPv6 only)

清华大学:
http://mirrors.tuna.tsinghua.edu.cn/   (IPv4+IPv6)
http://mirrors.6.tuna.tsinghua.edu.cn/   (IPv6 only)
http://mirrors.4.tuna.tsinghua.edu.cn/   (IPv4 only)

中国科学技术大学:
http://mirrors.ustc.edu.cn/   (IPv4+IPv6)
http://mirrors4.ustc.edu.cn/  
http://mirrors6.ustc.edu.cn/  

东北大学:
http://mirror.neu.edu.cn/   (IPv4 only)
http://mirror.neu6.edu.cn/   (IPv6 only)

华中科技大学:
http://mirrors.hust.edu.cn/  
http://mirrors.hustunique.com/  

电子科技大学:http://ubuntu.uestc.edu.cn/  
电子科大凝聚工作室(Raspbian单一系统镜像) http://raspbian.cnssuestc.org/  
电子科大星辰工作室(少数小众发布版镜像) http://mirrors.stuhome.net/  
中国linux开源社团: http://mirrors.skyshe.cn/centos/  
 

HongKong

China - Hong Kong     Web Services Ltd.    http://mirror.vpshosting.com.hk/pub/linux/centos/
Hong Kong    01LINK NETWORK SERVICES LIMITED    http://centos.01link.hk/  
Hong Kong    CommuniLink Internet Limited    http://centos.communilink.net/       
Hong Kong    i-System Technology Limited    http://centos.uhost.hk/     
Hong Kong    SunnyVision Limited    http://mirror.sunnyvision.com/centos/          
Hong Kong    The Chinese University of Hong Kong    http://ftp.cuhk.edu.hk/pub/Linux/centos/         
Hong Kong    UDomain Web Hosting Company Ltd.    http://repo.virtualhosting.hk/centos/  
 

PyPi 镜像

豆瓣:http://pypi.douban.com/  
山东理工大学:http://pypi.sdutlinux.org/  
中山大学:http://mirror.sysu.edu.cn/pypi/  
V2EX:http://pypi.v2ex.com/simple/  
 

RubyGems 镜像

中山大学:http://mirror.sysu.edu.cn/rubygems/  
山东理工大学:http://ruby.sdutlinux.org/  
淘宝网:http://ruby.taobao.org/  
 

npm 镜像

cnpmjs:http://cnpmjs.org/  
 
为了为大家提供方便,这里收集了国内的开源站点,如果有错漏缺失之处,欢迎在文章下的评论中指出,然后更新。 查看全部
image.png


企业开源站


搜狐开源镜像站:http://mirrors.sohu.com/  
网易开源镜像站:http://mirrors.163.com/  
阿里开源镜像站:   http://mirrors.aliyun.com/ 
首都在线镜像站:http://mirrors.yun-idc.com/  
贝特康姆镜像站:http://centos.bitcomm.cn/  
Centos官方镜像: http://mirror-status.centos.org/  
 
 


大学教学站


中山大学镜像:http://mirror.sysu.edu.cn/ 
山东理工大学:http://mirrors.sdutlinux.org/ 
哈尔滨工业大学:http://run.hit.edu.cn/ 
中国地质大学:http://cugbteam.org/ 
大连理工大学:http://mirror.dlut.edu.cn/ 
西南林业大学 http://cs3.swfu.edu.cn/cs3guide.html 
北京化工大学(仅教育网可以访问),包含 CentOS 镜像:http://ubuntu.buct.edu.cn/ 
天津大学:http://mirror.tju.edu.cn/ 
西南大学:http://linux.swu.edu.cn/swudownload/Distributions/ 
青岛大学:http://mirror.qdu.edu.cn/ 
南京师范大学:http://mirrors.njnu.edu.cn/ 
大连东软信息学院: http://mirrors.neusoft.edu.cn/ 
浙江大学:http://mirrors.zju.edu.cn/ 
兰州大学:http://mirror.lzu.edu.cn/ 
厦门大学:http://mirrors.xmu.edu.cn/ 

北京理工大学:
http://mirror.bit.edu.cn   (IPv4 only)
http://mirror.bit6.edu.cn   (IPv6 only)

北京交通大学:
http://mirror.bjtu.edu.cn   (IPv4 only)
http://mirror6.bjtu.edu.cn   (IPv6 only)
http://debian.bjtu.edu.cn   (IPv4+IPv6)

上海交通大学:
http://ftp.sjtu.edu.cn/   (IPv4 only)
http://ftp6.sjtu.edu.cn   (IPv6 only)

清华大学:
http://mirrors.tuna.tsinghua.edu.cn/   (IPv4+IPv6)
http://mirrors.6.tuna.tsinghua.edu.cn/   (IPv6 only)
http://mirrors.4.tuna.tsinghua.edu.cn/   (IPv4 only)

中国科学技术大学:
http://mirrors.ustc.edu.cn/   (IPv4+IPv6)
http://mirrors4.ustc.edu.cn/  
http://mirrors6.ustc.edu.cn/  

东北大学:
http://mirror.neu.edu.cn/   (IPv4 only)
http://mirror.neu6.edu.cn/   (IPv6 only)

华中科技大学:
http://mirrors.hust.edu.cn/  
http://mirrors.hustunique.com/  

电子科技大学:http://ubuntu.uestc.edu.cn/  
电子科大凝聚工作室(Raspbian单一系统镜像) http://raspbian.cnssuestc.org/  
电子科大星辰工作室(少数小众发布版镜像) http://mirrors.stuhome.net/  
中国linux开源社团: http://mirrors.skyshe.cn/centos/  
 


HongKong


China - Hong Kong     Web Services Ltd.    http://mirror.vpshosting.com.hk/pub/linux/centos/
Hong Kong    01LINK NETWORK SERVICES LIMITED    http://centos.01link.hk/  
Hong Kong    CommuniLink Internet Limited    http://centos.communilink.net/       
Hong Kong    i-System Technology Limited    http://centos.uhost.hk/     
Hong Kong    SunnyVision Limited    http://mirror.sunnyvision.com/centos/          
Hong Kong    The Chinese University of Hong Kong    http://ftp.cuhk.edu.hk/pub/Linux/centos/         
Hong Kong    UDomain Web Hosting Company Ltd.    http://repo.virtualhosting.hk/centos/  
 


PyPi 镜像


豆瓣:http://pypi.douban.com/  
山东理工大学:http://pypi.sdutlinux.org/  
中山大学:http://mirror.sysu.edu.cn/pypi/  
V2EX:http://pypi.v2ex.com/simple/  
 


RubyGems 镜像


中山大学:http://mirror.sysu.edu.cn/rubygems/  
山东理工大学:http://ruby.sdutlinux.org/  
淘宝网:http://ruby.taobao.org/  
 


npm 镜像


cnpmjs:http://cnpmjs.org/  
 
为了为大家提供方便,这里收集了国内的开源站点,如果有错漏缺失之处,欢迎在文章下的评论中指出,然后更新。

一个IP的主机上配置Nginx的多个HTTPS虚拟主机

Ansible 发表了文章 • 0 个评论 • 131 次浏览 • 2016-12-25 22:19 • 来自相关话题

最近公司域名更变,同时,又要新旧域名同时运行。 那么,对于https的域名在同一个IP上如何同时存在多个虚拟主机呢?查看了下nginx手册,有这么一段内容,如下:

如果在同一个IP上配置多个HTTPS主机,会出现一个很普遍的问题:server {
listen 443;
server_name www.example.com;
ssl on;
ssl_certificate www.example.com.crt;
...
}

server {
listen 443;
server_name www.example.org;
ssl on;
ssl_certificate www.example.org.crt;
...
}使用上面的配置,不论浏览器请求哪个主机,都只会收到默认主机www.example.com的证书。这是由SSL协议本身的行为引起的——先建立SSL连接,再发送HTTP请求,所以nginx建立SSL连接时不知道所请求主机的名字,因此,它只会返回默认主机的证书。

最古老的也是最稳定的解决方法就是每个HTTPS主机使用不同的IP地址:server {
listen 192.168.1.1:443;
server_name www.example.com;
ssl on;
ssl_certificate www.example.com.crt;
...
}

server {
listen 192.168.1.2:443;
server_name www.example.org;
ssl on;
ssl_certificate www.example.org.crt;
...
}那么,在同一个IP上,如何配置多个HTTPS主机呢?

nginx支持TLS协议的SNI扩展(Server Name Indication,简单地说这个扩展使得在同一个IP上可以以不同的证书serv不同的域名)。不过,SNI扩展还必须有客户端的支持,另外本地的OpenSSL必须支持它。

如果启用了SSL支持,nginx便会自动识别OpenSSL并启用SNI。是否启用SNI支持,是在编译时由当时的 ssl.h 决定的(SSL_CTRL_SET_TLSEXT_HOSTNAME),如果编译时使用的OpenSSL库支持SNI,则目标系统的OpenSSL库只要支持它就可以正常使用SNI了。

nginx在默认情况下是TLS SNI support disabled。

启用方法:
需要重新编译nginx并启用TLS。步骤如下:# wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
# tar zxvf openssl-1.0.1e.tar.gz
# ./configure --prefix=/usr/local/nginx --with-http_ssl_module \
--with-openssl=./openssl-1.0.1e \
--with-openssl-opt="enable-tlsext"
# make
# make install查看是否启用:# /usr/local/nginx/sbin/nginx -V
TLS SNI support enabled这样就可以在 同一个IP上配置多个HTTPS主机了。

实例如下:server {
listen 443;
server_name www.baidu.com;
index index.html index.htm index.php;
root /data/wwwroot/baidu/webroot;
ssl on;
ssl_certificate "/usr/local/nginx/conf/ssl/www.baidu.com.public.cer";
ssl_certificate_key "/usr/local/nginx/conf/ssl/www.baidu.com.private.key";
......
}

server {
listen 443;
server_name www.uko.com;
index index.html index.htm index.php;
root /data/wwwroot/www.uko.com/webroot;
ssl on;
ssl_certificate "/usr/local/nginx/conf/ssl/www.uko.com.public.cer";
ssl_certificate_key "/usr/local/nginx/conf/ssl/www.uko.com.private.key";
......
}分享阅读:http://www.ttlsa.com/web/multiple-https-host-nginx-with-a-ip-configuration/ 查看全部
最近公司域名更变,同时,又要新旧域名同时运行。 那么,对于https的域名在同一个IP上如何同时存在多个虚拟主机呢?查看了下nginx手册,有这么一段内容,如下:

如果在同一个IP上配置多个HTTPS主机,会出现一个很普遍的问题:
server {
listen 443;
server_name www.example.com;
ssl on;
ssl_certificate www.example.com.crt;
...
}

server {
listen 443;
server_name www.example.org;
ssl on;
ssl_certificate www.example.org.crt;
...
}
使用上面的配置,不论浏览器请求哪个主机,都只会收到默认主机www.example.com的证书。这是由SSL协议本身的行为引起的——先建立SSL连接,再发送HTTP请求,所以nginx建立SSL连接时不知道所请求主机的名字,因此,它只会返回默认主机的证书。

最古老的也是最稳定的解决方法就是每个HTTPS主机使用不同的IP地址:
server {
listen 192.168.1.1:443;
server_name www.example.com;
ssl on;
ssl_certificate www.example.com.crt;
...
}

server {
listen 192.168.1.2:443;
server_name www.example.org;
ssl on;
ssl_certificate www.example.org.crt;
...
}
那么,在同一个IP上,如何配置多个HTTPS主机呢?

nginx支持TLS协议的SNI扩展(Server Name Indication,简单地说这个扩展使得在同一个IP上可以以不同的证书serv不同的域名)。不过,SNI扩展还必须有客户端的支持,另外本地的OpenSSL必须支持它。

如果启用了SSL支持,nginx便会自动识别OpenSSL并启用SNI。是否启用SNI支持,是在编译时由当时的 ssl.h 决定的(SSL_CTRL_SET_TLSEXT_HOSTNAME),如果编译时使用的OpenSSL库支持SNI,则目标系统的OpenSSL库只要支持它就可以正常使用SNI了。

nginx在默认情况下是TLS SNI support disabled。

启用方法:
需要重新编译nginx并启用TLS。步骤如下:
# wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
# tar zxvf openssl-1.0.1e.tar.gz
# ./configure --prefix=/usr/local/nginx --with-http_ssl_module \
--with-openssl=./openssl-1.0.1e \
--with-openssl-opt="enable-tlsext"
# make
# make install
查看是否启用:
# /usr/local/nginx/sbin/nginx -V
TLS SNI support enabled
这样就可以在 同一个IP上配置多个HTTPS主机了。

实例如下:
server  {
listen 443;
server_name www.baidu.com;
index index.html index.htm index.php;
root /data/wwwroot/baidu/webroot;
ssl on;
ssl_certificate "/usr/local/nginx/conf/ssl/www.baidu.com.public.cer";
ssl_certificate_key "/usr/local/nginx/conf/ssl/www.baidu.com.private.key";
......
}

server {
listen 443;
server_name www.uko.com;
index index.html index.htm index.php;
root /data/wwwroot/www.uko.com/webroot;
ssl on;
ssl_certificate "/usr/local/nginx/conf/ssl/www.uko.com.public.cer";
ssl_certificate_key "/usr/local/nginx/conf/ssl/www.uko.com.private.key";
......
}
分享阅读:http://www.ttlsa.com/web/multiple-https-host-nginx-with-a-ip-configuration/

OpenSSH 远程代码执行漏洞安全预警

Geek小A 发表了文章 • 0 个评论 • 135 次浏览 • 2016-12-22 15:27 • 来自相关话题

概述

12 月 19 日,国外漏洞平台 securityfocus 上发布了最新的 OpenSSH(CVE-2016-10009) 远程代码执行漏洞。官方发布的openssh 7.4版本已经修复此漏洞,同时还修复了CVE-2016-10010、CVE-2016-10011、CVE-2016-10012和CVE-2016-8858。 请检查您使用版本是否在影响范围之内,并及时升级。
 

影响范围

OpenSSH 5.0 – 7.3
 

修复方案

请在升级前做好快照和文件备份,防止出现意外事件
1、升级到官网发布的 OpenSSH 7.4版本
注:升级openssh需要先将OpenSSL和Zlib升级到新版本
 

漏洞详情

CVE-2016-10009:黑客可通过此漏洞执行远程代码,或导致数据泄露。问题出在 ssh-agent ,这个进程默认不启动、只在多主机间免密码登录时才会用到,漏洞利用条件也比较苛刻,攻击者需要有控制agent-sock的权限和文件系统的写权限。官方漏洞评级为“中危”。

可以通过查看系统中是否有名为“ssh-agent ”的进程判断是否启用ssh-agent。

注:OpenSSH 7.4 已于 2016 年 12 月 19 日正式发布,新版本移植了在 Linux、BSD、以及其它类 Unix 平台上 SSH 2.0 协议的完整支持,主要修复了上一个版本中发现的 bug 和安全问题。需注意的是,7.4 版本的各项底层变化,有可能会影响现有的配置。

参考链接
https://www.openssh.com/txt/release-7.4 
http://seclists.org/oss-sec/2016/q4/708  查看全部
openssh.png


概述


12 月 19 日,国外漏洞平台 securityfocus 上发布了最新的 OpenSSH(CVE-2016-10009) 远程代码执行漏洞。官方发布的openssh 7.4版本已经修复此漏洞,同时还修复了CVE-2016-10010、CVE-2016-10011、CVE-2016-10012和CVE-2016-8858。 请检查您使用版本是否在影响范围之内,并及时升级。
 


影响范围


OpenSSH 5.0 – 7.3
 


修复方案


请在升级前做好快照和文件备份,防止出现意外事件
1、升级到官网发布的 OpenSSH 7.4版本
注:升级openssh需要先将OpenSSL和Zlib升级到新版本
 


漏洞详情


CVE-2016-10009:黑客可通过此漏洞执行远程代码,或导致数据泄露。问题出在 ssh-agent ,这个进程默认不启动、只在多主机间免密码登录时才会用到,漏洞利用条件也比较苛刻,攻击者需要有控制agent-sock的权限和文件系统的写权限。官方漏洞评级为“中危”。

可以通过查看系统中是否有名为“ssh-agent ”的进程判断是否启用ssh-agent。

注:OpenSSH 7.4 已于 2016 年 12 月 19 日正式发布,新版本移植了在 Linux、BSD、以及其它类 Unix 平台上 SSH 2.0 协议的完整支持,主要修复了上一个版本中发现的 bug 和安全问题。需注意的是,7.4 版本的各项底层变化,有可能会影响现有的配置。

参考链接
https://www.openssh.com/txt/release-7.4 
http://seclists.org/oss-sec/2016/q4/708 

CentOS下设置代理上网各种小技巧

Rock 发表了文章 • 0 个评论 • 121 次浏览 • 2016-12-21 16:37 • 来自相关话题

最近有人问CentOS如何设置各种代理上网;下面就为大家带来CentOS设置各种代理上网的方法;有需要的朋友可以看看。
 

1、网页上网​

桌面版的Centos的话,网页上网设置代理很简单,在firefox浏览器下 :
Edit-->>Preferences-->>Advanced-->>Network在Connection下点击Settings,里面的manual proxy configuration里设置IP和PORT即可。
 

2、yum代理设置

编辑文件为:/etc/yum.conf ,在里面添加这一行:proxy=IP:PORT这里的IP是你代理服务器的ip,端口也是你代理服务器的服务端口。
 

3、wget代理设置

编辑文件为:/etc/wgetrc , 添加下面两行:
http_proxy = IP:PORT
ftp_proxy = IP:PORT
 

4、系统环境代理设置

编辑文件为/etc/profile,如果只想给自己的账户设置,则编辑~/.bashrc即可
添加如下三行:
# add proxy for network
export http_proxy=http://child-prc.intel.com:913
export https_proxy=http://child-prc.intel.com:913
export ftp_proxy=$http_proxy然后source /etc/profile 或者source ~/.bashrc即可 查看全部
Centosimage.png

最近有人问CentOS如何设置各种代理上网;下面就为大家带来CentOS设置各种代理上网的方法;有需要的朋友可以看看。
 


1、网页上网​


桌面版的Centos的话,网页上网设置代理很简单,在firefox浏览器下 :
Edit-->>Preferences-->>Advanced-->>Network
在Connection下点击Settings,里面的manual proxy configuration里设置IP和PORT即可。
 


2、yum代理设置


编辑文件为:/etc/yum.conf ,在里面添加这一行:
proxy=IP:PORT
这里的IP是你代理服务器的ip,端口也是你代理服务器的服务端口。
 


3、wget代理设置


编辑文件为:/etc/wgetrc , 添加下面两行:
http_proxy = IP:PORT  
ftp_proxy = IP:PORT

 


4、系统环境代理设置


编辑文件为/etc/profile,如果只想给自己的账户设置,则编辑~/.bashrc即可
添加如下三行:
# add proxy for network
export http_proxy=http://child-prc.intel.com:913
export https_proxy=http://child-prc.intel.com:913
export ftp_proxy=$http_proxy
然后source /etc/profile 或者source ~/.bashrc即可

流量劫持与防范

Ansible 发表了文章 • 0 个评论 • 158 次浏览 • 2016-12-20 18:47 • 来自相关话题

摘要

流量劫持现象在国内十分猖獗,6家国内顶级互联网公司呼吁有关运营商严格打击流量劫持问题。流量劫持分为域名劫持和内容篡改两类,通过HTTP DNS产品和内容HTTPS加密可以基本解决这两类问题。
 

概述

2015年12月15日,今日头条、美团大众点评网、360、腾讯、微博、小米科技六家公司发表联合声明,共同呼吁有关运营商严格打击流量劫持问题,重视互联网被流量劫持可能导致的严重后果。

联合声明指出,在当前的移动互联网环境下,流量劫持主要分为两种方式:域名劫持和数据劫持,放任流量劫持会导致扰乱市场秩序、损害用户利益以及传播诈骗、色情等低俗甚至严重违法信息的恶果。

而在2015年11月,上海浦东法院也刚刚对中国大陆地区首例流量劫持刑案作出判决,两名被告人被判有期徒刑三年,缓刑三年,扣押在案的作案工具以及没收退缴在案的违法所得。

在此前的很长时间内,流量劫持行为并没有被定义为刑事犯罪,而随着浦东法院的判决、六大互联网公司联合声明的发出,流量劫持正在得到更大范围的关注。如何防范流量劫持正成为各家互联网公司的探讨重点。

就此,记者联系了阿里云资深开发工程师亭林,请他介绍了流量劫持的技术原理以及相应的防范措施,精简分享如下。
 
相对于PC端的网络环境,移动端的网络环境更为复杂,2G、3G、4G、Wi-Fi各有不同,而复杂的网络环境也增加了流量劫持的可能性和复杂程度。
 
首先流量劫持的方式主要分为两种,域名劫持和数据劫持。
 

域名劫持

域名劫持是针对传统DNS解析的常见劫持方式。用户在浏览器输入网址,即发出一个HTTP请求,首先需要进行域名解析,得到业务服务器的IP地址。使用传统DNS解析时,会通过当地网络运营商提供的Local DNS解析得到结果。域名劫持,即是在请求Local DNS解析域名时出现问题,目标域名被恶意地解析到其他IP地址,造成用户无法正常使用服务。




解决域名劫持的一个办法就是绕开Local DNS,通过一个可信的源头来解析域名,解析方式不需要拘泥于DNS协议,也可以通过HTTP的方式。两年前,手机淘宝等APP也曾遇到这一问题,随后在做底层网络优化时,通过使用自己定制的HTTPDNS,一个安全可信的域名解析方案,解决了域名劫持问题。

HTTPDNS技术也准备通过阿里云平台开放给广大开发者使用,当前这款产品正在公测中,将于2016年3月29日提供商业化服务。到时,阿里云上的移动开发者也能自主选择,将需要防劫持的域名进行保护。
 

数据劫持

数据劫持基本针对明文传输的内容发生。用户发起HTTP请求,服务器返回页面内容时,经过中间的运营商网络,页面内容被篡改或加塞内容,强行插入弹窗或者广告。

行业内解决的办法即是对内容进行HTTPS加密,实现密文传输,彻底避免劫持问题。MD5校验同样能起到防止数据劫持的作用,MD5校验是指内容返回前,应用层对返回的数据进行校验,生成校验值;同时,内容接收方接收到内容后,也对内容进行校验,同样生成校验值,将这两个校验值进行比对,倘若一致,则可以判断数据无劫持。但相比HTTPS加密,MD5校验存在一定风险,劫持方技术能力强则有可能在篡改内容后替换校验值,导致接收方判断错误。

使用HTTPS加密,已经成为了互联网行业的大势所趋。今年双11,阿里的淘宝、天猫、聚划算等电商平台也都全面实现了HTTPS加密访问,全站改造投入巨大,但有效防止了资源被劫持,保障了用户的收发信息安全。未来,这一技术将不仅限于电商平台,还将通过阿里云对外输出,赋能更多的中小互联网企业,降低他们的创业成本,在更安全的移动互联网环境中得到发展。

阅读分享:https://yq.aliyun.com/articles/8656?spm=5176.100239.blogcont60033.8.zmhPUY 查看全部


摘要


流量劫持现象在国内十分猖獗,6家国内顶级互联网公司呼吁有关运营商严格打击流量劫持问题。流量劫持分为域名劫持和内容篡改两类,通过HTTP DNS产品和内容HTTPS加密可以基本解决这两类问题。
 


概述


2015年12月15日,今日头条、美团大众点评网、360、腾讯、微博、小米科技六家公司发表联合声明,共同呼吁有关运营商严格打击流量劫持问题,重视互联网被流量劫持可能导致的严重后果。

联合声明指出,在当前的移动互联网环境下,流量劫持主要分为两种方式:域名劫持和数据劫持,放任流量劫持会导致扰乱市场秩序、损害用户利益以及传播诈骗、色情等低俗甚至严重违法信息的恶果。

而在2015年11月,上海浦东法院也刚刚对中国大陆地区首例流量劫持刑案作出判决,两名被告人被判有期徒刑三年,缓刑三年,扣押在案的作案工具以及没收退缴在案的违法所得。

在此前的很长时间内,流量劫持行为并没有被定义为刑事犯罪,而随着浦东法院的判决、六大互联网公司联合声明的发出,流量劫持正在得到更大范围的关注。如何防范流量劫持正成为各家互联网公司的探讨重点。

就此,记者联系了阿里云资深开发工程师亭林,请他介绍了流量劫持的技术原理以及相应的防范措施,精简分享如下。
 
相对于PC端的网络环境,移动端的网络环境更为复杂,2G、3G、4G、Wi-Fi各有不同,而复杂的网络环境也增加了流量劫持的可能性和复杂程度。
 
首先流量劫持的方式主要分为两种,域名劫持和数据劫持。
 


域名劫持


域名劫持是针对传统DNS解析的常见劫持方式。用户在浏览器输入网址,即发出一个HTTP请求,首先需要进行域名解析,得到业务服务器的IP地址。使用传统DNS解析时,会通过当地网络运营商提供的Local DNS解析得到结果。域名劫持,即是在请求Local DNS解析域名时出现问题,目标域名被恶意地解析到其他IP地址,造成用户无法正常使用服务。
DnsDomain.png

解决域名劫持的一个办法就是绕开Local DNS,通过一个可信的源头来解析域名,解析方式不需要拘泥于DNS协议,也可以通过HTTP的方式。两年前,手机淘宝等APP也曾遇到这一问题,随后在做底层网络优化时,通过使用自己定制的HTTPDNS,一个安全可信的域名解析方案,解决了域名劫持问题。

HTTPDNS技术也准备通过阿里云平台开放给广大开发者使用,当前这款产品正在公测中,将于2016年3月29日提供商业化服务。到时,阿里云上的移动开发者也能自主选择,将需要防劫持的域名进行保护。
 


数据劫持


数据劫持基本针对明文传输的内容发生。用户发起HTTP请求,服务器返回页面内容时,经过中间的运营商网络,页面内容被篡改或加塞内容,强行插入弹窗或者广告。

行业内解决的办法即是对内容进行HTTPS加密,实现密文传输,彻底避免劫持问题。MD5校验同样能起到防止数据劫持的作用,MD5校验是指内容返回前,应用层对返回的数据进行校验,生成校验值;同时,内容接收方接收到内容后,也对内容进行校验,同样生成校验值,将这两个校验值进行比对,倘若一致,则可以判断数据无劫持。但相比HTTPS加密,MD5校验存在一定风险,劫持方技术能力强则有可能在篡改内容后替换校验值,导致接收方判断错误。

使用HTTPS加密,已经成为了互联网行业的大势所趋。今年双11,阿里的淘宝、天猫、聚划算等电商平台也都全面实现了HTTPS加密访问,全站改造投入巨大,但有效防止了资源被劫持,保障了用户的收发信息安全。未来,这一技术将不仅限于电商平台,还将通过阿里云对外输出,赋能更多的中小互联网企业,降低他们的创业成本,在更安全的移动互联网环境中得到发展。


阅读分享:https://yq.aliyun.com/articles/8656?spm=5176.100239.blogcont60033.8.zmhPUY


邮件服务端口介绍

koyo 发表了文章 • 0 个评论 • 85 次浏览 • 2016-12-19 19:42 • 来自相关话题

25端口(SMTP):25端口为SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)服务所开放的,是用于发送邮件。 
如今绝大多数邮件服务器都使用该协议。当你给别人发送邮件时,你的机器的某个动态端口(大于1024)就会与邮件服务器的25号端口建立一个连接,你发送的邮件就会通过这个连接传送到邮件服务器上,保存起来。
 
109端口(POP2):109端口是为POP2(Post Office Protocol Version2,邮局协议2)服务开放的,是用于接收邮件的。

110端口(POP3):110端口是为POP3(Post Office Protocol Version3,邮局协议3)服务开放的,是用于接收邮件的。

143端口(IMAP):143端口是为IMAP(INTERNET MESSAGE ACCESS PROTOCOL)服务开放的,是用于接收邮件的。

目前POP3使用的比POP2广得多,POP2几乎被淘汰,也有某些服务器同时支持POP2和POP3协议。客户端可以使用POP3协议来访问服务端的邮件服务,如今ISP的绝大多数邮件服务器都是使用POP3协议(极少用POP2协议)。在使用邮件客户端程序的时候,会要求输入POP3服务器地址,默认情况下使用的就是110端口。当你用邮件客户端(比如、Thunderbird、foxmail、MS Outlook Express以及各类邮件精灵)登录时,你的机器就会自动用机器的某一个动态端口(大于1024)连接邮件服务器的110端口,服务器就把别人给你发的邮件(之前保存在邮件服务器上),发送到你机器,这样你就可以看到你客户端工具上的收件箱里的新邮件了。

IMAP协议,和POP3协议一样是用来接收邮件的,但是它有它的特别和新颖之处,它是面向用户的,它和POP3协议的主要区别是:用户可以不用把所有的邮件内容全部下载,而是只下载邮件标题和发件人等基本信息,用户可以由标题等基本信息,去决定是否下载邮件全文,用户可以通过客户端的浏览器直接对服务器上的邮件进行操作(比如:打开阅读全文、丢进垃圾箱、永久删除、整理到某文件夹下、归档、)。再简单来说就是:浏览器用的IMAP协议(143端口)来为你接收邮件以及让你很方便的操作服务器上的邮件。邮件客户端用的POP3协议(110端口)来为你接收邮件的全部信息和全文内容保存到你的本地机器成为一个副本,你对邮件客户端上的副本邮件的任何操作都是在副本上,不干涉邮件服务器上为你保存的邮件原本。

上面介绍的SMTP协议、POP2协议、POP3协议、IMAP协议都是不安全的协议。因考虑到网络安全的因素,下面给你介绍基于SSL(Secure Sockets Layer 安全套接层)协议的安全的邮件收发协议。你的邮件在传输过程中可能被网络黑客截取邮件内容,如果你的邮件机密性非常强,不想被收件人以外的任何人和任何黑客截取,或者是涉及国家机密安全的,等等。那么你的邮件就不该使用上述的三种协议进行收发。

若你采用SMTP协议发邮件,那么你发出的邮件从你的机器传到服务器的过程中,可能被黑客截取从而泄露。若你采用POP2或者POP3协议收取邮件,那么你的邮件从服务器传至你当前机器的过程可能被黑客截取从而泄露。

465端口(SMTPS):465端口是为SMTPS(SMTP-over-SSL)协议服务开放的,这是SMTP协议基于SSL安全协议之上的一种变种协议,它继承了SSL安全协议的非对称加密的高度安全可靠性,可防止邮件泄露。SMTPS和SMTP协议一样,也是用来发送邮件的,只是更安全些,防止邮件被黑客截取泄露,还可实现邮件发送者抗抵赖功能。防止发送者发送之后删除已发邮件,拒不承认发送过这样一份邮件。

995端口(POP3S):995端口是为POP3S(POP3-over-SSL)协议服务开放的,这是POP3协议基于SSL安全协议之上的一种变种协议,它继承了SSL安全协议的非对称加密的高度安全可靠性,可防止邮件泄露。POP3S和POP3协议一样,也是用来接收邮件的,只是更安全些,防止邮件被黑客截取泄露,还可实现邮件接收方抗抵赖功能。防止收件者收件之后删除已收邮件,拒不承认收到过这样一封邮件。

993端口(IMAPS):993端口是为IMAPS(IMAP-over-SSL)协议服务开放的,这是IMAP协议基于SSL安全协议之上的一种变种协议,它继承了SSL安全协议的非对称加密的高度安全可靠性,可防止邮件泄露。IMAPS和IMAP协议一样,也是用来接收邮件的,只是更安全些,防止邮件被黑客截取泄露,还可实现邮件接收方抗抵赖功能。防止收件者收件之后删除已收邮件,拒不承认收到过这样一封邮件。 查看全部
mail.png

25端口(SMTP):25端口为SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)服务所开放的,是用于发送邮件。 
如今绝大多数邮件服务器都使用该协议。当你给别人发送邮件时,你的机器的某个动态端口(大于1024)就会与邮件服务器的25号端口建立一个连接,你发送的邮件就会通过这个连接传送到邮件服务器上,保存起来。
 
109端口(POP2):109端口是为POP2(Post Office Protocol Version2,邮局协议2)服务开放的,是用于接收邮件的。

110端口(POP3):110端口是为POP3(Post Office Protocol Version3,邮局协议3)服务开放的,是用于接收邮件的。

143端口(IMAP):143端口是为IMAP(INTERNET MESSAGE ACCESS PROTOCOL)服务开放的,是用于接收邮件的。

目前POP3使用的比POP2广得多,POP2几乎被淘汰,也有某些服务器同时支持POP2和POP3协议。客户端可以使用POP3协议来访问服务端的邮件服务,如今ISP的绝大多数邮件服务器都是使用POP3协议(极少用POP2协议)。在使用邮件客户端程序的时候,会要求输入POP3服务器地址,默认情况下使用的就是110端口。当你用邮件客户端(比如、Thunderbird、foxmail、MS Outlook Express以及各类邮件精灵)登录时,你的机器就会自动用机器的某一个动态端口(大于1024)连接邮件服务器的110端口,服务器就把别人给你发的邮件(之前保存在邮件服务器上),发送到你机器,这样你就可以看到你客户端工具上的收件箱里的新邮件了。

IMAP协议,和POP3协议一样是用来接收邮件的,但是它有它的特别和新颖之处,它是面向用户的,它和POP3协议的主要区别是:用户可以不用把所有的邮件内容全部下载,而是只下载邮件标题和发件人等基本信息,用户可以由标题等基本信息,去决定是否下载邮件全文,用户可以通过客户端的浏览器直接对服务器上的邮件进行操作(比如:打开阅读全文、丢进垃圾箱、永久删除、整理到某文件夹下、归档、)。再简单来说就是:浏览器用的IMAP协议(143端口)来为你接收邮件以及让你很方便的操作服务器上的邮件。邮件客户端用的POP3协议(110端口)来为你接收邮件的全部信息和全文内容保存到你的本地机器成为一个副本,你对邮件客户端上的副本邮件的任何操作都是在副本上,不干涉邮件服务器上为你保存的邮件原本。

上面介绍的SMTP协议、POP2协议、POP3协议、IMAP协议都是不安全的协议。因考虑到网络安全的因素,下面给你介绍基于SSL(Secure Sockets Layer 安全套接层)协议的安全的邮件收发协议。你的邮件在传输过程中可能被网络黑客截取邮件内容,如果你的邮件机密性非常强,不想被收件人以外的任何人和任何黑客截取,或者是涉及国家机密安全的,等等。那么你的邮件就不该使用上述的三种协议进行收发。

若你采用SMTP协议发邮件,那么你发出的邮件从你的机器传到服务器的过程中,可能被黑客截取从而泄露。若你采用POP2或者POP3协议收取邮件,那么你的邮件从服务器传至你当前机器的过程可能被黑客截取从而泄露。

465端口(SMTPS):465端口是为SMTPS(SMTP-over-SSL)协议服务开放的,这是SMTP协议基于SSL安全协议之上的一种变种协议,它继承了SSL安全协议的非对称加密的高度安全可靠性,可防止邮件泄露。SMTPS和SMTP协议一样,也是用来发送邮件的,只是更安全些,防止邮件被黑客截取泄露,还可实现邮件发送者抗抵赖功能。防止发送者发送之后删除已发邮件,拒不承认发送过这样一份邮件。

995端口(POP3S):995端口是为POP3S(POP3-over-SSL)协议服务开放的,这是POP3协议基于SSL安全协议之上的一种变种协议,它继承了SSL安全协议的非对称加密的高度安全可靠性,可防止邮件泄露。POP3S和POP3协议一样,也是用来接收邮件的,只是更安全些,防止邮件被黑客截取泄露,还可实现邮件接收方抗抵赖功能。防止收件者收件之后删除已收邮件,拒不承认收到过这样一封邮件。

993端口(IMAPS):993端口是为IMAPS(IMAP-over-SSL)协议服务开放的,这是IMAP协议基于SSL安全协议之上的一种变种协议,它继承了SSL安全协议的非对称加密的高度安全可靠性,可防止邮件泄露。IMAPS和IMAP协议一样,也是用来接收邮件的,只是更安全些,防止邮件被黑客截取泄露,还可实现邮件接收方抗抵赖功能。防止收件者收件之后删除已收邮件,拒不承认收到过这样一封邮件。