2016年8月29日星期一

CentOS 6上部署Shadowsocks Server的教程

亲测成功。

本文章来为各位朋友介绍CentOS 6上部署Shadowsocks Server的方法,希望这篇文章能够帮助到各位实现在CentOS 6上部署Shadowsocks服务器哦。

背景介绍:

相对于VPN而言,搭建一个Shadowsocks服务,然后通过浏览器代理的方式来使用,要方便很多。

它的原理跟SSH Tunnel类似,就是通过Shadowsocks的服务端与其专用的Shadowsocks客户端建立起一个加密的隧道,然后Shadowsocks客户端会在本地监听一个端口,默认为1080;所有经过这个本地端口的数据都会通过这个加密隧道。

相关配置:

OS: CentOS 6.4 x86_64 Minimal

1. 安装Shadowsocks Server

# pip install shadowsocks

2. 配置/etc/shadowsocks.json

# vim /etc/shadowsocks.json

{

"server": "0.0.0.0",

"server_port": 443,

"local_address": "127.0.0.1",

"local_port": 1080,

"password": "shadowsockspass",

"timeout": 600,

"method": "aes-256-cfb",

"fast_open": false,

"workers": 1

}

注解:在以上配置文件中,

定义了监听的服务器地址为任意地址:"server": "0.0.0.0",

定义了监听的服务器端口为443"server_port": 443,

定义了客户端本地的监听地址为127.0.0.1"local_address": "127.0.0.1",

定义了客户端本地的监听端口为1080"local_port": 1080,

定义了密码为shadowsockspass"password": "shadowsockspass",

定义了连接超时的时间为600秒:"timeout": 600,

定义了加密的方式为aes-256-cfb"method": "aes-256-cfb",

默认关闭了fast_open属性:"fast_open": false,

定义了进程数为1"workers": 1

3. 配置/etc/sysctl.conf,新增如下配置:

# vim /etc/sysctl.conf

# For shadowsocks

fs.file-max = 65535

net.core.rmem_max = 67108864

net.core.wmem_max = 67108864

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_keepalive_time = 1200

net.ipv4.tcp_max_syn_backlog = 8192

net.ipv4.tcp_max_tw_buckets = 5120

net.ipv4.tcp_mem = 25600 51200 102400

net.ipv4.tcp_rmem = 4096 87380 67108864

net.ipv4.tcp_wmem = 4096 65536 67108864

net.ipv4.tcp_mtu_probing = 1

net.ipv4.tcp_congestion_control = hybla

 
 

4. 启动Shadowsocks服务

# ssserver -c /etc/shadowsocks.json -d start

# netstat -lntp | grep 443

1

tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 11037/python

 
 

 
 

客户端配置 不是本文重点,本文略过。

2016年8月11日星期四

LVM扩展空间步骤

当LV空间利用率较大即将耗尽LV空间时,我们可以将一块新的磁盘或者一块磁盘上的free空间加入LV,步骤如下:

现在/home空间如下:

[root@localhost ~]# df -h

文件系统              容量  已用 可用 已用% 挂载点

/dev/mapper/rootvg-rootlv

7.6G  2.0G  5.2G  28% /

/dev/sda1              99M   11M   83M  12% /boot

tmpfs                 125M     0  125M   0% /dev/shm

/dev/mapper/rootvg-homelv

                    496M   19M  452M   4% /home

1、新建LVM类型分区:

[root@localhost ~]# fdisk /dev/sda \\对硬盘sda进行分区操作

 

Command (m for help): n \\创建新的分区

First cylinder (1160-1305, default 1160): 1160 \\指定起始柱面

Last cylinder or +size or +sizeM or +sizeK (1160-1305, default 1305): 1305 \\指定终止柱面

 

Command (m for help): p \\查看当前分区表信息

 

Disk /dev/sda: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          13      104391   83  Linux

/dev/sda2              14         395     3068415   8e  Linux LVM

/dev/sda3             396         777     3068415   8e  Linux LVM

/dev/sda4             778        1305     4241160    5  Extended

/dev/sda5             778        1159     3068383+  8e  Linux LVM

/dev/sda6            1160        1305     1172713+  83  Linux  \\刚刚新建的分区

 

Command (m for help): t \\改变分区类型

Partition number (1-6): 6 \\指定分区编号

Hex code (type L to list codes): 8e \\更改为LVM类型分区

Changed system type of partition 6 to 8e (Linux LVM)

 

Command (m for help): w \\保存退出

The partition table has been altered!

2、创建新的PV

[root@localhost ~]# partprobe  \\使用partprobe指令更新内核的中硬盘分区表信息

[root@localhost ~]# pvcreate /dev/sda6 \\创建新的PV

Physical volume "/dev/sda6" successfully created

[root@localhost ~]# pvscan

PV /dev/sda2   VG rootvg   lvm2 [2.93 GB / 0    free]

PV /dev/sda3   VG rootvg   lvm2 [2.93 GB / 0    free]

PV /dev/sda5   VG rootvg   lvm2 [2.93 GB / 0    free]

  PV /dev/sda6               lvm2 [1.12 GB] \\新创建的PV但是尚未加入任何VG组

Total: 4 [9.90 GB] / in use: 3 [8.78 GB] / in no VG: 1 [1.12 GB]

3、将PV加入VG组

[root@localhost ~]# vgextend rootvg /dev/sda6

Volume group "rootvg" successfully extended

 

[root@localhost ~]# pvscan

PV /dev/sda2   VG rootvg   lvm2 [2.93 GB / 0    free]

PV /dev/sda3   VG rootvg   lvm2 [2.93 GB / 0    free]

PV /dev/sda5   VG rootvg   lvm2 [2.93 GB / 0    free]

  PV /dev/sda6   VG rootvg   lvm2 [1.12 GB / 1.12 GB free] \\已经加入rootvg组

Total: 4 [9.89 GB] / in use: 4 [9.89 GB] / in no VG: 0 [0   ]

 

4、将VG组中的空闲空间划出100M到/home分区所在的LV

[root@localhost ~]# lvextend -L +100M /dev/rootvg/homelv

Extending logical volume homelv to 612.00 MB

Logical volume homelv successfully resized

 

5、使用resizefs2命令重新加载逻辑卷的大小才能生效 

[root@localhost ~]# resize2fs /dev/rootvg/homelv

resize2fs 1.39 (29-May-2006)

Filesystem at /dev/rootvg/homelv is mounted on /home; on-line resizing required

Performing an on-line resize of /dev/rootvg/homelv to 626688 (1k) blocks.

The filesystem on /dev/rootvg/homelv is now 626688 blocks long.

 

查看增加空间后的/home空间

[root@localhost ~]# df -h

文件系统              容量  已用 可用 已用% 挂载点

/dev/mapper/rootvg-rootlv

7.6G  2.0G  5.2G  28% /

/dev/sda1              99M   11M   83M  12% /boot

tmpfs                 125M     0  125M   0% /dev/shm

/dev/mapper/rootvg-homelv

                      593M   19M  544M   4% /home