w1100n
This site is best viewed in Google Chrome
wiloon, 2/27/2018 9:06

http://blog.csdn.net/hzhsan/article/details/44100215 如:xx.xx.xx.2/24 xx.xx.xx.0/24 hzhsan:通俗一点就是,斜杠后面的数字就表示子网掩码,数字具体代表32位子网掩码(二进制形式)中前面的“1”的个数。 而且前面的“ip地址”也不一定是一个ip地址,也可能是一个网络号(末位是0)。 通过后面数字可以将前面的网段进一步细划分成具体的子网。 所以 xx.xx.xx.2/24 ——>表示一个ip地址xx.xx.xx.2,24告诉了这个ip地址所对应的子网掩码。 xx.xx.xx.0/24 ——>表示一个网段,并且24告诉了当前具体的子网掩码。 其实这个就是用CIDR的形式表示的一个网段,或者说子网。 CIDR:无类别域间路由选择,Classless and Subnet Address Extensions and Supernetting 我们知道确定一个子网需要知道主机地址和子网掩码,但用CIDR的形式,可以简单得到两个数值。举例说吧,192.168.0.0/24”就表示,这个网段的IP地址从192.168.0.1开始,到192.168.0.254结束(192.168.0.0和192.168.0.255有特殊含义,不能用作IP地址);子网掩码是255.255.255.0。 上面的子网掩码怎么来的呢?其实关键就在“24”上。我们知道IP地址是四个十进制数组成的,相当于32位二进制。用CIDR表示形式,后一个数字将这32位进行了间隔(以24为例):前24位用”1″表示,后面8位用0表示,得到一个二进制数: 11111111 11111111 11111111 00000000。将其转化为十进制,就是:255.255.255.0了。 例如:192.168.1.0/24表示网段是192.168.1.0,子网掩码是24位,子网掩码为:255.255.255.0,用二进制表示为:11111111 11111111 11111111 00000000 ,这里为什么是24呢,就是因为子网掩码里面的前面连续的“1”的个数为24个,一定要连续的才行。 再给你举个例子,192.168.1.0/28表示的意思是网段是192.168.1.0,子网掩码为:255.255.255.240,用二进制表示为:11111111 11111111 11111111 11110000。 这时候你也许就疑惑了,就是24和28两个字不一样,为什么网段是一样的呢? 24位说明网络位是24位,那么主机位就是32-24=8位了,则子网的IP个数是254个,即是从00000001到11111110. 28位说明网络位是28位,那么主机位4位,则子网的IP个数是14个,即是从00000001到00001110.

wiloon, 2/25/2018 12:24

https://bigeagle.me/2016/02/ipset-policy-routing/ https://bwh1.net/ http://banwagong.cn/kvm-install-bbr.html

wiloon, 2/25/2018 11:25

采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器。Socks是个电路级的底层网关,是 DavidKoblas在1990年开发的,此后就一直作为Internet RFC标准的开放标准。Socks不要求应用程序遵循特定的操作系统平台,Socks 代理与应用层代理、 HTTP 层代理不同,Socks代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,Socks代理比其他应用层代理要快得多。它通常绑定在代理服务器的1080端口上。 https://baike.baidu.com/item/SOCKS

wiloon, 2/25/2018 11:16

R7800 v2ray-linux-arm.zip /usr/bin/v2ray /usr/bin/v2ctl https://www.v2ray.com/

wiloon, 2/23/2018 17:41

http://blog.csdn.net/swartz_lubel/article/details/79215764 随着Apache的进一步开 发,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目。这样,APR的开发就从Apache中独立出来,Apache仅仅是使用 APR而已。目前APR主要还是由Apache使用,不过由于APR的较好的移植性,因此一些需要进行移植的C程序也开始使用APR,开源项目比如 Flood loader(http://httpd.apache.org/test/flood/,该项目用于服务器压力测试,不仅仅适用于Apache)、FreeSwitch(www.freeswitch.org),JXTA-C(http://jxta-c.jxta.org,C版本的JXTA点对点平台实现);商业的项目则包括Blogline(http://www.bloglines.com/,covalent(http://www.covalent.net)等等。 APR使得平台细节的处理进行下移。对于应用程序而言,它们根本就不需要考虑具体的平台,不管是Unix、Linux还是Window,应用程序执行的接口基本都是统一一致的。因此对于APR而言,可移植性和统一的上层接口是其考虑的一个重点。而APR最早的目的并不是如此,它最早只是希望将Apache中用到的所有代码合并为一个通用的代码库,然而这不是一个正确的策略,因此后来APR改变了其目标。有的时候使用公共代码并不是一件好事,比如如何将一个请求映射到线程或者进程是平台相关的,因此仅仅一个公共的代码库并不能完成这种区分。APR的目标则是希望安全合并所有的能够合并的代码而不需要牺牲性能。 APR的最早的一个目标就是为所有的平台(不是部分)提供一个公共的统一操作函数接口,这是一个非常了不起的目的,当然也是不现实的一个目标。我们不可能支持所有平台的所有特征,因此APR目前只能为大多数平台提供所有的APR特性支持,包括Win32、OS/2、BeOS、Darwin、Linux等等。为了能够实现这个目标,APR开发者必须为那些不能运行于所有平台的特性创建了一系列的特征宏(FEATURE MACROS)以在各个平台之间区分这些特征。这些特征宏定义非常简单,通常用APR_HAS_FEATURE参数设置: 如果某个平台具有这个特性,则该宏必须设置为true,比如Linux和window都具有内存映射文件,同时APR提供了内存映射文件的操作接口,因此在这两个平台上,APR_HAS_MMAP宏必须设置,同时ap_mmap_函数应该将磁盘文件映射为内存并返回适当的状态码。如果你的操作系统并不支持内存映射,那么APR_HAS_MMAP必须设置为0,而且所有的ap_mmap_函数也可以不需要定义。第二步就是对于那些在程序中使用了不支持的函数必须提出警告。

wiloon, 2/23/2018 15:17

/usr/lib/systemd/system/foo.service zookeeper 编写systemd下服务脚本 Red Hat Enterprise Linux 7(RHEL 7)已经将服务管理工具从SysVinit和Upstart迁移到了systemd上,相应的服务脚本也需要改变。前面的版本里,所有的启动脚本都是放在/etc/rc.d/init.d/ 目录下。这些脚本都是bash脚本,可以让系统管理员控制这些服务的状态,通常,这些脚本中包含了start,stop,restart这些方法,以提供系统自动调用这些方法。但是在RHEL 7中当中已经完全摒弃了这种方法,而采用了一种叫unit的配置文件来管理服务。 ■Systemd下的unit文件 Unit文件专门用于systemd下控制资源,这些资源包括服务(service)、套接字(socket)、设备(device)、挂载点(mount point)、自动挂载点(automount point)、交换文件或分区(a swap file or partition)… 所有的unit文件都应该配置[Unit]或者[Install]段.由于通用的信息在[Unit]和[Install]中描述,每一个unit应该有一个指定类型段,例如[Service]来对应后台服务类型unit. unit 类型如下: service :守护进程的启动、停止、重启和重载是此类 unit 中最为明显的几个类型。 socket :此类 unit 封装系统和互联网中的一个socket。当下,systemd支持流式, 数据报和连续包的AF_INET,AF_INET6,AF_UNIXsocket 。也支持传统的 FIFOs 传输模式。每一个 socket unit 都有一个相应的服务 unit 。相应的服务在第一个“连接”进入 socket … Continue reading

wiloon, 2/22/2018 17:35

http://www.infoq.com/cn/articles/netty-security

wiloon, 2/22/2018 15:21

然后是PEM,它是由RFC1421至1424定义的一种数据格式。其实前面的.cert和.key文件都是PEM格式的,只不过在有些系统中(比如Windows)会根据扩展名不同而做不同的事。所以当你看到.pem文件时,它里面的内容可能是certificate也可能是key,也可能两个都有,要看具体情况。可以通过openssl查看。 X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。 X.509 DER 编码(ASCII)的后缀是: .DER .CER .CRT X.509 PAM 编码(Base64)的后缀是: .PEM .CER .CRT .cer/.crt是用于存放证书,它是2进制形式存放的,不含私钥。 .pem跟crt/cer的区别是它以Ascii来表示。 作者:刘长元 链接:https://www.zhihu.com/question/29620953/answer/45012411 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 https://www.zhihu.com/question/29620953

wiloon, 2/18/2018 13:13

子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。 https://www.zhihu.com/question/21064101

wiloon, 2/13/2018 15:21

https://wiki.archlinux.org/index.php/Chromebook_Pixel_2 https://wiki.archlinux.org/index.php/Chrome_OS_devices#Installing_Arch_Linux https://wiki.archlinux.org/index.php/Installation_guide archlinux install, arch to arch, to usb stick

wiloon, 2/13/2018 12:33

【命令】time — 执行命令并计时 【格式】time [-p] command [arguments…] 【说明】 执行命令行”command [arguments…]”,命令行执行结束时在标准输出中打印执行该命令行的时间统计结果,其统计结果包含以下数据: 1)实际时间(real time): 从command命令行开始执行到运行终止的消逝时间; 2)用户CPU时间(user CPU time): 命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和; 3)系统CPU时间(system CPU time): 命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和。 其中,用户CPU时间和系统CPU时间之和为CPU时间,即命令占用CPU执行的时间总和。实际时间要大于CPU时间,因为Linux是多任务操作系统,往往在执行一条命令时,系统还要处理其它任务。 另一个需要注意的问题是即使每次执行相同命令,但所花费的时间也是不一样,其花费时间是与系统运行相关的。 例1: 1. # time date 2. Sun Mar 26 22:45:34 GMT-8 2006 3. 4. real 0m0.136s 5. … Continue reading

wiloon, 2/12/2018 23:33

https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Disks/zh-cn https://www.cnblogs.com/f-ck-need-u/p/7084627.html BIOS boot partition是一个分区,gnu grub[译注1]用它来引导基于legacy bios但启动设备上却包含GPT格式分区表时的操作系统。这种结构有时候被称为BIOS/GPT启动[译注2]。 下图非原文内容,是本人提供,用于直观地感受bios boot分区。 Bios boot分区是必要的,因为GPT使用紧跟在MBR后面的扇区来保存实际的分区表,但在传统的MBR分区架构中,这些扇区并没有特殊的作用,这样的结果是没有足够的可用空闲空间来存储stage2这段boot loader。MBR中也存储了boot loader,但MBR无法存储超过512字节的内容,所以MBR中的这段boot loader被当作stage1使用,它的主要作用是加载功能更多更复杂的stage2这段boot loader,stage2可以从文件系统读取和载入操作系统内核。 当使用了BIOS boot分区,该分区将包含stage2的boot loader程序,例如grub2文件,而stage1的boot loader代码仍保留在MBR中。使用bios boot分区不是解决基于传统bios但使用了gpt格式磁盘问题的唯一方法,但是复杂的boot loader如grub2无法将无法完全符合MBR中的398-446字节的区域,因此它们需要一个辅助的存储空间。在MBR磁盘上,一般使用紧跟在MBR后的扇区空间来存储这些复杂的boot loader,这些扇区空间就是大众所熟知的”MBR gap”。而在GPT磁盘上,由于没有与MBR gap等效的未使用空间,所以单独使用一个bios boot分区来分配这样的空间,以存储复杂的boot loader。 BIOS boot分区的GUID可以是”21686148-6449-6E6F-744E-656564454649″。在基于BIOS的平台下的GPT中,BIOS boot分区有点类似于EFI平台下的EFI系统分区,EFI系统分区使用UEFI保存文件系统和文件,而用于BIOS平台的BIOS boot分区则不使用文件系统来保存代码(见上面的图,在bios boot分区上是没有创建文件系统的)。 bios boot分区的大小非常小,可以小到只有31kB(由于第一个扇区是mbr,所以bios boot的内容从第2扇区到第63扇区),但是由于未来boot loader可能会扩展,所以建议bios boot分区设置为1M大小,而且很多磁盘分区工具都使用1MB分区对齐策略,这样MBR到第一个分区之间会保留一些空闲空间。 在Example 2中,grub 2在bios boot分区中存储它的core.img。 … Continue reading

wiloon, 2/12/2018 22:36

You can use parted -l to determine the type of partition table. Eg: $ sudo parted -l Model: ATA TOSHIBA THNSNS25 (scsi) Disk /dev/sda: 256GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags … Continue reading

wiloon, 2/12/2018 16:53

instantaneous_input_kbps 每秒读字节数 instantaneous_ops_per_sec 每秒处理指令数 instantaneous_output_kbps 每秒写字节数 keyspace_hitrate Rate of successful lookup of keys in the main dictionary keyspace_hits : 查找数据库键成功的次数。 keyspace_misses : 查找数据库键失败的次数。 latest_fork_usec : 最近一次 fork() 操作耗费的毫秒数。 lru_clock : 以分钟为单位进行自增的时钟,用于 LRU 管理 master_repl_offset The replication offset of master (in … Continue reading

wiloon, 2/11/2018 23:40

https://segmentfault.com/a/1190000014822400 sshd_config MaxAuthTries 20 http://matt-u.iteye.com/blog/851158 linux ssh_config和sshd_config配置文件 转载190019892011-08-22 09:34:11评论(1)63053人阅读 现在远程管理linux系统基本上都要使用到ssh,原因很简单:telnet、FTP等传输方式是‍以明文传送用户认证信息,本质上是不安全的,存在被网络窃听的危险。SSH(Secure Shell)目前较可靠,是专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题,透过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。 ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于,前者是针对客户端的配置文件,后者则是针对服务端的配置文件。两个配置文件都允许你通过设置不同的选项来改变客户端程序的运行方式。下面列出来的是两个配置文件中最重要的一些关键词,每一行为“关键词&值”的形式,其中“关键词”是忽略大小写的。 ‍‍1、编辑 /etc/ssh/ssh_config 文件 Site-wide defaults for various options Host * ForwardAgent no ForwardX11 no RhostsAuthentication no RhostsRSAAuthentication no ‍ RSAAuthentication yes PasswordAuthentication yes FallBackToRsh no UseRsh no BatchMode … Continue reading

wiloon, 2/11/2018 13:31

Java JSSE Java Secure Socket Extension JDK 中的 JSSE(javax.net.ssl),提供了对 SSL 和 TLS 的支持 SSL/TLS 协议(RFC2246 RFC4346)处于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。 SSL/TLS 记录协议(SSL/TLS Record Protocol),它建立在可靠的传输层协议(如 TCP)之上,为上层协议提供数据封装、压缩、加密等基本功能。 SSL/TLS 握手协议(SSL/TLS Handshake Protocol),它建立在 SSL/TLS 记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等初始化协商功能。 从协议使用方式来看,又可以分成两种类型: 1. SSL/TLS 单向认证,就是用户到服务器之间只存在单方面的认证,即客户端会认证服务器端身份,而服务器端不会去对客户端身份进行验证。 2.SSL/TLS 双向认证,就是双方都会互相认证,也就是两者之间将会交换证书。基本的过程和单向认证完全一样,只是在协商阶段多了几个步骤. 对称算法(symmetric cryptography):就是需要双方使用一样的 key 来加密解密消息算法,常用密钥算法有 Data … Continue reading

wiloon, 2/11/2018 9:42

数据库视图 数据库视图的创建是基于SQL SELECT query和JOIN的。视图和表很相似,它也包含行和列,所以可以直接对它进行查询操作。另外大多数的数据库同样允许进行UPADTE操作,但必须满足一定的条件。 MySQL View MySQL从5.x版本支持视图,并且基本符合SQL: 2003标准。 MySQL中执行查询视图的方式有一下两种: MySQL会合并输入的查询语句和视图的查询声明然后执行合并后的语句并返回结果。 MySQL会基于视图的查询声明创建一个temporary table, 当执行查询语句时会查询这张temporary table 如果创建视图的时候并未指定查询方式,MySQL会默认优先使用第一种,但如果视图的查询声明中的SELECT使用了聚合函数(MIN, MAX, SUM, COUNT, AVG, etc., or DISTINCT, GROUP BY, HAVING, LIMIT, UNION, UNION ALL, subquery.),那么视图查询会使用第二种方式。 Create View 创建MySQL视图可以使用CREATE VIEW声明: CREATE [ALGORITHM = {MERGE | TEMPTABLE … Continue reading

wiloon, 2/8/2018 23:27

http://blog.51cto.com/ixdba/1566856 Linux下高效数据恢复软件extundelete应用实战 推荐 原创南非蚂蚁2014-10-22 17:58:11评论(8)11866人阅读 推荐:10年技术力作:《高性能Linux服务器构建实战Ⅱ》全网发行,附试读章节和全书实例源码下载! 作为一名运维人员,保证数据的安全是根本职责,所以在维护系统的时候,要慎之又慎,但是有时难免会出现数据被误删除的情况,在这个时候改如何快速、有效地恢复数据呢?本文我们就来介绍一下Linux系统下常用的几个数据恢复工具。 一、如何使用“rm -rf”命令 在Linux系统下,通过命令“rm -rf”可以将任何数据直接从硬盘删除,并且没有任何提示,同时Linux下也没有与Windows下回收站类似的功能,也就意味着,数据在删除后通过常规的手段是无法恢复的,因此使用这个命令要非常慎重。在使用rm命令的时候,比较稳妥的方法是把命令参数放到后面,这样有一个提醒的作用。其实还有一个方法,那就是将要删除的东西通过mv命令移动到系统下的/tmp目录下,然后写个脚本定期执行清除操作,这样做可以在一定程度上降低误删除数据的危险性。 其实保证数据安全最好的方法是做好备份,虽然备份不是万能的,但是没有备份是万万不行的。任何数据恢复工具都有一定局限性,都不能保证完整地恢复出所有数据,因此,把备份作为核心,把数据恢复工具作为辅助是运维人员必须坚持的一个准则。 二、extundelete与ext3grep的异同 在Linux下,基于开源的数据恢复工具有很多,常见的有debugfs、R-Linux、ext3grep、extundelete等,比较常用的有ext3grep和extundelete,这两个工具的恢复原理基本一样,只是extundelete功能更加强大,本文重点介绍extundelete的使用。 三、extundelete的恢复原理 在介绍使用extundelete进行恢复数据之前,简单介绍下关于inode的知识。在Linux下可以通过“ls –id”命令来查看某个文件或者目录的inode值,例如查看根目录的inode值,可以输入: 1 2 [root@cloud1 ~]# ls -id / 2 / 由此可知,根目录的inode值为2。 在利用extundelete恢复文件时并不依赖特定文件格式,首先extundelete会通过文件系统的inode信息(根目录的inode一般为2)来获得当前文件系统下所有文件的信息,包括存在的和已经删除的文件,这些信息包括文件名和inode。然后利用inode信息结合日志去查询该inode所在的block位置,包括直接块,间接块等信息。最后利用dd命令将这些信息备份出来,从而恢复数据文件。 四、 安装extundelete extundelete的官方网站是http://extundelete.sourceforge.net/ ,其目前的稳定版本是extundelete-0.2.4。,在安装extundelete之前需要安装e2fsprogs和e2fsprogs-libs两个依赖包。 e2fsprogs和e2fsprogs-libs安装非常简单,这里不做介绍。下面是extundelete的编译安装过程: 1 2 3 4 5 [root@cloud1 app]#tar … Continue reading

next page
辽ICP备14012896