0%

最近这段时间我朝的墙是越来越猛,有点赶尽杀绝的意思,也不知道是有什么重要日子?

对于搭自用梯子的话,目前有一个比较好的方案可以非常有效的“防封”,就是今天要给大家介绍的Ocserv(OpenConnect)以下简称Ocserv。

因为Anyconnect是思科开发出来的,众所周知思科的网络设备天下第一,很多大型的企业都是用思科的设备,包括Anyconnect这种VPN解决方案,所以墙不敢随便封这种协议的梯子。

但是由于思科只允许Anyconnect运行在思科的设备上,所以就有了今天的Ocserv服务端。Ocserv诞生的主要目的就是可以让任何设备都能安装上Anyconnect而不在局限于思科。

因为最近墙实在是太鸡儿猛了,所以没办法才用Anyconnect的,一般情况下这玩意我都不想碰,毕竟搭建和配置都比较麻烦,而且也不是很好配合其他的加速软件,所以就一直没想写这方面的文章,今天就详细写一下吧。

为了教程更简便,这里我直接用EPEL源安装Ocserv,可以省去麻烦的编译过程。首先安装EPEL源:

yum -y install epel-release

然后就可以直接YUM安装Ocserv了:

yum -y install ocserv

新建一个目录,用来存放SSL证书相关文件,然后进入到这个目录内:

mkdir ssl
cd ssl

新建一个证书模板:

vi ca.tmpl

写入:

cn = “LALA” organization = “LALA.IM” serial = 1 expiration_days = 9999 ca
signing_key
cert_signing_key
crl_signing_key

注:LALA和LALA.IM可以根据自己的需要更改,反正都是自签证书,随便瞎鸡儿写也没关系。。。

然后生成私钥和CA证书:

certtool --generate-privkey --outfile ca-key.pem
certtool --generate-self-signed --load-privkey ca-key.pem --template ca.tmpl --outfile ca-cert.pem

接着来生成服务器证书,还是老样子新建一个证书模板:

vi server.tmpl

写入:

cn = “你的服务器IP” organization = “LALA.IM” expiration_days = 9999 signing_key
encryption_key
tls_www_server

注:cn后面的值改成你的服务器公网IP。

然后生成私钥和证书:

certtool --generate-privkey --outfile server-key.pem
certtool --generate-certificate --load-privkey server-key.pem --load-ca-certificate ca-cert.pem --load-ca-privkey ca-key.pem --template server.tmpl --outfile server-cert.pem

然后我们把证书文件用移动到Ocserv默认的目录下:

cp server-cert.pem /etc/pki/ocserv/public/ cp server-key.pem /etc/pki/ocserv/private/ cp ca-cert.pem /etc/pki/ocserv/cacerts/

现在编辑ocserv的配置文件(需要改动的地方很多,如果vi不好用就自己用SFTP把这个文件下载到本地用专业的编辑器编辑):

vi /etc/ocserv/ocserv.conf

让我们一起来看看需要改哪些地方:

1、auth也就是验证方式要改为:

auth = “plain[passwd=/etc/ocserv/ocpasswd]“

如图所示:

2、默认的监听端口为443,如果你的服务器上跑着HTTPS的WEB站点,那么443端口肯定是被占用了的,所以如果有需求的话,可以更改下面的值:

# TCP and UDP port number tcp-port = 443 udp-port = 443

如图所示:

3、Anyconnect有一个设置连接欢迎信息的功能,也就是你在连接的时候会弹出一个提示框,提示框的内容就可以自行设置,如有需要可以更改下面的值:

# A banner to be displayed on clients banner = “Welcome LALA.IM”

如图所示:

4、Anyconnect可以限制最大允许连接的设备数量,如有需要可以更改下面这两个值:

max-clients = 16 max-same-clients = 2

如图所示:

5、更改服务器证书以及私钥的路径为我们刚才移动的路径:

server-cert = /etc/pki/ocserv/public/server-cert.pem
server-key = /etc/pki/ocserv/private/server-key.pem

如图所示:

6、更改CA证书的路径为我们刚才移动的路径:

ca-cert = /etc/pki/ocserv/cacerts/ca-cert.pem

如图所示:

7、取消如下几个参数的注释(去掉#号就是去掉注释):

ipv4-network
ipv4-netmask

如图所示:

8、去掉如下参数的注释以及设置DNS服务器地址:

tunnel-all-dns = true dns = 8.8.8.8 dns = 8.8.4.4

如图所示:

确定你已经修改好上面的内容,然后保存即可。

现在来创建一个VPN用户:

ocpasswd -c /etc/ocserv/ocpasswd lala

盲输两遍密码即可。如果不想让这个用户继续使用了,可以执行下面的命令删除指定的用户:

ocpasswd -c /etc/ocserv/ocpasswd -d lala

现在我们开启机器的IPV4转发功能:

echo 1 > /proc/sys/net/ipv4/ip_forward

然后启动CentOS7的Firewalld防火墙:

systemctl start firewalld.service

放行Anyconnect的端口(我这里之前设置的是默认的443端口,如果你修改了端口,那么这里也要对应):

firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --permanent --zone=public --add-port=443/udp

设置转发:

firewall-cmd --permanent --add-masquerade
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -o eth0 -j MASQUERADE

注:eth0是你的公网网卡名字,每个机器的名字可能都不一样,自己用ifconfig命令查一下就行了。

重加载,让新的配置生效:

firewall-cmd --reload

现在就可以尝试运行一下Ocserv了:

ocserv -f -d 1

如果一切正常,回显的内容大致如下图所示:

确定正常后按键盘组合键Ctrl+C退出运行,现在我们就可以直接用systemctl来管理Ocserv的进程。

设置Ocserv开机启动:

systemctl enable ocserv

启动Ocserv:

systemctl start ocserv

Anyconnect支持多平台客户端,Win/iOS/Android都是支持的,软件下载地址:

https://software.cisco.com/download/home/286281283/type/282364313/release/4.6.01103

iOS的话直接在商店里面搜索Anyconnect安装就行了。下面我拿iOS设备示范一下。

首先打开APP点击“设置”,把“阻止不信任的服务器”这个选项关闭,如图所示:

接着点击“连接”-“添加VPN连接”,按如下图配置:

现在就可以连接了,会提示你不信任的服务器,点“继续”:

然后就是输入用户名密码了,这里就不多说了,用户名和密码就是之前你自己在终端内创建的那个,如果用户名和密码验证正确的话,那么最后就会弹出你设置的欢迎信息:

现在就开始爱国吧。。。

写在最后:

其他客户端的配置都大同小异。因为我们是自签的证书,所以不管在哪个客户端上只要把“阻止不信任的服务器”这种类似的功能关闭就行了。

讲道理,CentOS7想开个BBR如果不用一键脚本的话,还真有点麻烦。。。如果是Debian/Ubuntu的话基本就是几条命令就能解决的事,但是由于CentOS的内核一向过于古老,所以你们懂的= =

BBR这项新功能是在kernel4.9中加入的,而CentOS都还停留在2.x的内核,所以要给CentOS装BBR第一件事就是想办法装上高版本的内核。

那么我们首先安装elrepo源:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

安装yum-utils:

yum -y install yum-utils

启用elrepo-kernel:

yum-config-manager --enable elrepo-kernel

安装elrepo内的最新内核:

yum -y install kernel-ml kernel-ml-devel

完成之后,一般情况下,新安装的内核就应该已经在grub2的0号启动位了,不过为了以防万一,还是自己执行下面的命令手动查看一番:

awk -F\‘ ‘$1==”menuentry “ {print i++ “ : “ $2}’ /etc/grub2.cfg

如图所示的回显,4.x的内核就是我们刚新安装上的内核了,确实是在0号:

接下来设置grub2默认的启动项为0,如果你的4.x内核启动编号不是0就把下面命令的0改成对应你自己的:

grub2-set-default 0

然后直接重启机器:

reboot

如果内核更换成功并且grub2启动没问题的话,稍等片刻机器就能重新开机,但如果哪个地方出了问题可能就挂掉了,此时你只能通过VNC或者IPMI检查。也有可能会出现重启之后内核没有更换成功的问题,这就要自己检查了。

这里我是用的GoogleCloud,在系统重启之后先看下内核是否更换成功:

uname -a

返回4.x的内核信息就说明更换成功:

所以接下来就是开启BBR了,直接依次执行下面的三条命令即可完成开启BBR的操作:

echo “net.core.default_qdisc=fq” >> /etc/sysctl.conf
echo “net.ipv4.tcp_congestion_control=bbr” >> /etc/sysctl.conf
sysctl -p

最后验证BBR是否启用成功:

sysctl net.ipv4.tcp_congestion_control
lsmod grep bbr

返回如下图信息就说明大功告成了:

SolusVM相信经常买OneManIDC小鸡的人来说,都不会很陌生吧,市面上很多小学生IDC都是用的这套系统,我们在开始之前,先简要介绍一下SolusVM。

SolusVM是一套国外的服务器虚拟化管理软件,主要分为主控(Master)、被控(Slaves)两个部分。主控提供图形化的WEBUI用来控制被控,主控一般情况下,我们可以随便找一台VPS安装,但被控则必须安装在独立服务器内。另外主控可以控制多个被控,实现虚拟化集群管理等一系列功能。

SolusVM不是一款免费的软件,它的授权价格是主控10刀一月,被控2.5刀一月。请注意被控数量可以无限制的购买,2.5刀一月是单价。也就是说,如果你打算在一台独立服务器上开小鸡,那么你一个月最少就要用12.5刀。如果你有多台独立服务器则需要再另外买被控授权。另外,SolusVM官方提供30天的免费试用授权,试用授权提供一个主控+5个被控,如果你是新手,可以先申请一个免费的授权使用。

如果你能把这篇文章接下来所写的内容全部都学会,那么你已经具备做一个OneManIDC的能力了,如果你真的打算做IDC了,千万别给OneMan这个词丢脸哦,要知道OneManIDC也有做的很不错的,但如果你做不好,难免就要被人称呼为“小学生IDC”了,这取决于你对这个行业的热情和诚信。

本文所使用的环境:

Hetzner独立服务器X1 LinodeVPSX1 CentOS7X64

首先我们来安装被控,我们登录到Hetzner后台,激活救援模式:

然后还是和往常一样,执行硬重启:

重启完成后,使用Xshell,登录到救援系统内,执行命令:

installimage

如图所示:

选择CentOS:

选择7.4版本:

做RAID0:

接下来到了一个非常关键的地方了,就是使用LVM进行硬盘分区,我们需要注意的是SolusVM只需要我们创建卷组(VG)即可,剩下的硬盘空间SolusVM会根据虚拟机所需的硬盘大小来自动划分。所以我们分区的时候,只把CentOS必要的文件系统分出来,其他的空间全部不划分,如图所示:

确认你的分区配置没问题后,按键盘F10,保存然后就是按几个回车,程序就会自动帮你装系统了。安装完成后,执行命令重启:

reboot

如图所示:

重启完成后,就可以登录到刚新装的CentOS7内了,可以看到硬盘只划分了100G,我这台独立服务器是6T的硬盘,剩下的容量这里都没有显示挂载,那么就是正常的:

现在我们就可以在这台独立服务器内安装SolusVM被控了,执行如下两条命令即可开始安装:

wget https://files.soluslabs.com/install.sh sh install.sh

看到如下界面后,因为我们是要开KVM的机器,然后我们要装的是被控,所以这里我们键入2回车:

接下来就是等了,大概5分钟左右,安装就可以完成,成功后会回显给你这台被控的KEY和密码信息,这两个信息务必要妥善保管:

如果你是开OpenVZ的小鸡,那么可以说SolusVM是开箱即用的,但我们要开的是全虚拟化的KVM,这里我们就还需要手动配置网卡的桥接。在Hetzner的独立服务器上,我这里给出一个可行的桥接方案。(不保证在别的独立服务器上也可用,因为每个服务器的网络环境都不同)

安装桥接依赖,这个其实SolusVM自动安装的时候应该是已经装好了的:

yum -y install bridge-utils

开ipv4转发:

echo 1 > /proc/sys/net/ipv4/ip_forward

新建一个桥接网卡命名为br0

vi /etc/sysconfig/network-scripts/ifcfg-br0

写入:

DEVICE=br0
TYPE=Bridge BOOTPROTO=none
IPADDR=你的服务器公网IP
NETMASK=子网掩码 SCOPE=“peer 你的服务器网关地址” ONBOOT=yes
DELAY=0 IPV6INIT=yes
IPV6ADDR=你的服务器IPV6地址/64 IPV6_DEFAULTGW=fe80::1 IPV6_DEFAULTDEV=br0

注:上面这些需要修改的信息,可以查看你默认的公网网卡得到,把相应的信息改好就行了。

因为Hetzner用的是路由模式,和很多大众机房联网的方式不一样,所以还要新建一个路由:

vi /etc/sysconfig/network-scripts/route-br0

写入:

ADDRESS0=0.0.0.0 NETMASK0=0.0.0.0 GATEWAY0=你的服务器网关地址

接着重启网络服务,这一步非常关键!一定要先重启一遍,让机器能够识别出我们新加入的网卡信息:

/etc/init.d/network restart

然后查看你现有公网IP的那个网卡名是什么:

ifconfig

可以看到我这台的名字是enp4s0,另外我们之前新配置的br0网卡也能在这里显示出来了:

接着我们修改原来默认的公网网卡配置:

vi /etc/sysconfig/network-scripts/ifcfg-enp4s0

清空这个配置文件,把里面的内容替换成:

DEVICE=enp4s0
HWADDR=你的机器MAC地址 IPV6INIT=yes
ONBOOT=yes
BRIDGE=br0

注:MAC地址就是你主网卡的MAC地址,我这里的就是enp4s0的MAC地址,用ifconfig查看,ether后面的值就是MAC地址。

接着我们再重启一次网络服务:

/etc/init.d/network restart

这样我们就把机器的桥接配置好了,最终的网卡信息现在应该是这样的:

至此,SolusVM的被控端我们就配置完成了,接下来是主控的安装。

首先我们要把主控装到另外一台VPS上,我个人建议主控和被控的网络连通性要比较好才行,以免后期在生产环境的时候出现一些不必要的麻烦。比如我现在的被控是一台德国机器,那么用来搭建主控的VPS最好也是德国的,所以我这里选择把主控装在Linode的德国机房。

安装主控和安装被控需要执行的命令是一模一样的:

wget https://files.soluslabs.com/install.sh sh install.sh

只不过在Linode上,因为系统比较精简,可能连wget都没有,所以先装一个wget:

yum -y install wget

OK,你现在应该可以顺利看到一个熟悉的界面,只不过这次我们要选择1:

稍等片刻,程序安装完成后,会回显给你主控面板的各类信息,如图所示:

默认的管理员账号密码都是vpsadmin,

我们登录进去首先要输入授权码,授权成功后如图所示:

接着更改系统默认的管理员密码:

现在我们就需要把主控和被控进行对接了。首先点击Nodes-Add Node,然后按如下图格式填写:

注:

1、LV Group这个值,一定要填写和我们之前分区指定的名字一样,我最开始配置LVM的时候,用的卷组名就是vg0,所以这里也要填vg0,如果你不是用的这个名字,就要自行更改。

2、IP地址填你的独立服务器IP地址,也就是被控的IP地址。

3、KEY和密码就是之前你装被控完成后回显给你的那些信息。

被控添加完成后,我们现在来加下IP。首先点击IP Blocks-Add IPv4 Block,然后按如图填写:

注:

1、在这个配置里面,只需要注意把Gateway(网关)IP填写正确即可,这个网关IP就是之前被控网卡配置文件route-br0里面的IP地址。

2、Node这里一定要勾选上我们刚才新添加的,这里我是HZE36T。

现在我们就可以在这个IP Blocks里面加IP了:

这里有一个问题,由于Hetzner的IP策略是IP必须绑定一个MAC地址的,所以我们在SolusVM后台配置这里不能用自动生成MAC的模式,一定要把MAC改成Hetzner绑定的那个。

首先我们在Hetzner后台找到你买的IP,后面有一个电脑的小图标,点击它:

这样Hetzner就会给这个IP绑定一个物理的MAC地址,如图所示:

然后我们就可以把这个MAC地址绑定到我们刚添加的IP上了,首先点击如图所示位置:

添加一下即可:

现在我们来准备一些KVM系统模版,SolusVM官方默认是提供一些系统模版的,我们可以到这里查看:

https://tdn.solusvm.com/

假设这里我要配置一个CentOS7的模版,就在主控服务器内执行如下命令:

wget http://templates.repo.onapp.com/solusvm/kvm/linux-centos-7-x86\_64-minimal-latest.gz -O /home/solusvm/kvm/template/linux-centos-7-x86_64-minimal-latest.gz

接着回到SolusVM的后台,点击Media-Add KVM Template,按如图所示填写相应的信息:

注:

1、Generation这个值默认是1,但我们一定要改成2,否则虚拟机无法正常开机。

2、Disk Driver一定要选择virtio。

3、Arch一定要选择x86_64,因为我们的系统模版是基于64位架构制作的。

4、建议开启CPU Model,并把模式改为host-passthrough。我个人是极其讨厌买到手的KVM机器查看CPU信息查不到型号的,所以用这个模式可以直接把母鸡的CPU型号暴露在虚拟机内,虚拟机内可以直接显示母鸡所使用的具体CPU型号。

OK,在添加好了系统模版后,我们还需要把现有的这些系统模版同步到被控中去,因为现在的这些模版文件都还在主控端上。

点击Media-Media Sync,选中我们要同步的模版,然后选中要同步的被控,提交即可:

稍等片刻,一旦这里显示Completed,即代表模版同步完成:

现在我们就可以来添加一个虚拟机套餐了,点击Plans-Add KVM Plan,按你自己的需求设置一个合适的套餐:

注意,下面这个模版一定要选择,否则客户在面板里面找不到可以重装的系统:

现在我们就可以来尝试开通一台KVM架构的VPS了,需要注意的是,在SolusVM的后台中,开设VPS必须要创建一个用户账户,点击左侧的Add Client,填写相应信息即可:

接着点击Virtual ServersAdd-Virtual Server,如图选择KVM架构:

选择我们刚创建的套餐:

设置主机名、操作系统:

VPS就创建好了:

稍等片刻儿,用户在前台也能管理VPS了:

最后使用Xshell登录我们创建的小鸡内,跑一个测评脚本:

Very nice,一切都是如此的美妙~

写在最后:

这套开VPS的方案,可以说就是目前最成熟,也最简单方便的了。然后你们可以自己脑补一下,花点钱买套WHMCS主机皮,或是找人定做一套,然后找人买几个便宜的C段,然后找机房托管几台机器,然后把IP路由一下,最后再按照我这篇文章的操作把SolusVM配置好并与WHMCS对接。你也可以做IDC。

本来不想花时间写这些东西的,但是既然IDC的门槛已经这么低了,那就不如让它再低一点,反正做这行,小打小闹谁都可以做,但是真想做规模的话,没几个能做的出来。

KVM即Kernal-based Virtual Machine, 是一种高效且成熟稳定的虚拟化技术, 支持所有的操作系统. 因此, 掌握服务器上搭建KVM平台是很有意义的. 通过虚拟机的建立以及IP分配, 虚拟机可以当做一台完全独立的服务器来使用, 即我们常用的VPS.

搭建虚拟机平台对宿主机系统的要求较高. KVM虚拟化要求宿主机的CPU支持Intel VT或AMD-V技术 (请执行cat /proc/cpuinfo查看), CPUBenchMark至少在1000以上, 建议5000或更多 (ATOM D525这种就不要来装虚拟机了). 系统内存要求至少为4G, 建议8G或更多. 硬盘要求20G以上. 操作系统必须为64位. 服务器至少分配2枚或以上的独立IP地址 (每个VPS一枚, 宿主机一枚). 本次教程, 我们以最新版本的CentOS 7为例, 介绍KVM平台的搭建.

1, 系统环境准备

(1) 设置服务器名(Hostname)

任何与网络相关的Linux操作都要求设置好服务器名. 请确保您已经正确设置服务器名: 当您在SSH中执行hostname -f命令时, 应看到servername.domainname.com; 当您执行hostname命令时, 应看到servername. 具体设置方法我已强调数十遍, 这里不再赘述. 若未设置好服务器名, 请不要继续.

(2) 软件更新

CentOS系统下执行yum -y update命令更新软件.

(3) 检查网络与IP信息

CentOS 7系统中执行ip addr命令查看网卡及IP地址信息. 查看一下绑定您的宿主机外网主IP地址的网卡名称, 记下它, 我这里是ens9. 查看一下是否有其他的虚拟网卡绑定了额外的外网IP地址, 若有, 请删除对应的虚拟网卡.

本次教程中, 我们假设给宿主机分配的IP地址段为标准网段100.100.100.200/29共8个IP, 则网络地址100.100.100.200, 网关100.100.100.201, 宿主机IP 100.100.100.202, VPS IP段100.100.100.203 ~ 100.100.100.206, 广播地址100.100.100.207, 子网掩码255.255.255.248.

2, 桌面环境的搭建

如果您仅使用一台服务器搭建KVM, 那我建议搭建桌面环境并搭建VNC服务器, 这样在管理KVM虚拟机和安装操作系统时较为方便. 我们以GNOME桌面环境为例介绍VNC服务器的搭建. GNOME桌面环境安装很简单, 执行下面这行命令即可:

1

yum groupinstall “GNOME Desktop”

然后安装VNC服务器. 执行:

1

yum install tigervnc-server

新建用户, 用来连接VNC, 并配置用户的连接文件. 执行:

1 2

useradd qingsu cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

编辑文件: /etc/systemd/system/vncserver@:1.service

将文件中的替换为我们的用户名qingsu, 并取消行首的注释符.

配置防火墙:

1 2

firewall-cmd –permanent –zone=public –add-service vnc-server firewall-cmd –reload

然后, 切换到用户qingsu, 启动VNC服务器:

su qingsu vncserver

此时, 会提示输入VNC密码, 设置好后回车即可.

最后切换回root, 设置随开机启动:

1 2 3

su root systemctl daemon-reload systemctl enable vncserver@:1.service

这样, 我们就配置好VNC服务器了. 在本地电脑上使用VNC客户端连接100.100.100.202:5901即可访问服务器的GNOME桌面环境. 第一次使用VNC连接的时候会提示输入管理员密码, 如下图.

0

此时请输入您的root用户密码. 然后会提示一系列配置信息, 直接NEXT就好.

3, KVM的安装

KVM安装很简单. 在SSH中执行下面这行命令即可.

1

yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer

 

4, 在宿主机上新建VPS

首先, 使用VNC连接宿主机. 进入桌面后, 找到Virtual Machine Manager, 如下图.

1

打开后, 点击图标Create a new virtual machine.

2

然后按步骤载入系统镜像. 如果没有系统镜像的, 可以去我的下载站http://wget.pro下载.

3

4

5

6

接着分配内存和硬盘. KVM是实虚拟, 因此分配内存后宿主机就不能再使用这部分资源了.

7

8

最后分配网卡. 这里我们要选择桥接模式Bridge, 并选择宿主机的出口网卡. 如下图.

9

这样, 我们就新建完成了VPS, 可以安装操作系统了.

10

是不是很简单呢? 安装系统的时候有一个步骤是配置网络信息, 这里我们的DHCP是不生效的, 需要在VPS上获取IP. 选择Configure Network Manually, 然后按照第一部分第三小节的信息来配置即可.

11

至此, 大功告成. 我们在VPS上安装SSH服务器后, 就可以对它进行完全独立的网络访问了.

网上相当一部分资料谈到的方法是禁用 IPv6 模块,我们线上服务器也是禁用 IPv6 模块,并没有遇到什么问题。 但 CentOS 官方网站并不推荐使用禁用 IPv6 模块的方法,因为这样会引起 SELinux 和其他组件的问题。 推荐的方法如下:

配置 /etc/sysctl.conf

1
2
3
4

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

在运行的系统中禁用

1
2
3
4
5
6
7
8

echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6

# 或者
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1

Ref

How do I disable IPv6? CentOS 6/RHCE 6 禁用 IPv6 协议模块

以OVH独立服务器为例,下面为说明。

一、OVH独服安装Centos 6,并设置分区、PV OVH-SolusVM-01.jpg

OVH-SolusVM-02.jpg

OVH-SolusVM-03.jpg

OVH-SolusVM-04.jpg

OVH-SolusVM-05.jpg

OVH-SolusVM-06.jpg

OVH-SolusVM-07.jpg

OVH-SolusVM-08.jpg

二、设置PV 1、前面创建的磁盘情况:

1
2
3
80GB ext4 /
4GB swap
xGB ext4 lv /uk

2、查看硬盘、PV等结构

1
lsblk

OVH-SolusVM-10.png

3、查看卷组 vgdisplay

1
lvdisplay

OVH-SolusVM-11.png LV路径 : /dev/vg/uk

4、删除卷组

1
2
3
umount /dev/vg/uk
lvremove /dev/vg/uk
vgremove /dev/vg

5、重建卷组

1
vgcreate -s32 vps /dev/md5

参考:http://www.webhostingtalk.com/showthread.php?t=1392174

在禁用IPv6之前,让我们看看系统中可用的网卡。使用ifconfig命令。

enp0s3:flags = 4163 <UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fd50:1d9:9fe3:1400:a00:27ff:fe36:34ae prefixlen 64 scopeid 0x0
inet6 fe80 :: a00:27ff:fe36:34ae prefixlen 64 scopeid 0x20
ether 08:00:27:36:34:ae txqueuelen 1000(以太网)
RX数据包893字节116790(114.0 KiB)
RX错误0丢弃0超出0帧0
TX数据包1054字节77781(75.9 KiB)
TX错误0丢弃0超载0载波0碰撞0
lo:标志= 73 <UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0 inet6 :: 1 prefixlen 128 scopeid 0x10

    loop txqueuelen 1(本地环回) RX数据包772字节73806(72.0 KiB) RX错误0丢弃0溢出0帧0 
    TX数据包772字节73806(72.0 KiB) TX错误0丢弃0溢出0载波0冲突0

在Debian 9上禁用IPv6  - 在禁用IPv6之前输出ifconfig命令

在Debian 9上禁用IPv6 - 在禁用IPv6之前输出ifconfig命令

以上输出确认两个网卡均启用了IPv6。所以,我们现在将使用下面的方法禁用IPv6。

方法1

编辑**/etc/sysctl.conf**文件。

sudo nano /etc/sysctl.conf

放置以下条目以禁用所有适配器的IPv6。

net.ipv6.conf.all.disable_ipv6 = 1

对于特定的适配器(如果网卡名称为enp0s3)。

net.ipv6.conf.ens4.disable_ipv6 = 1

要反映更改,请执行以下命令。

sudo sysctl -p

方法2

在**/etc/sysctl.d目录中创建一个名为70-disable-ipv6.conf文件**。

sudo nano /etc/sysctl.d/70-disable-ipv6.conf

添加以下条目以禁用所有适配器的IPv6。

net.ipv6.conf.all.disable_ipv6 = 1

对于特定的适配器(如果网卡名称为enp0s3)。

net.ipv6.conf.ens4.disable_ipv6 = 1

运行以下命令以执行更改。

sudo sysctl -p -f /etc/sysctl.d/70-disable-ipv6.conf

使用ifconfig命令验证。您可以看到输出中没有IPv6地址。

在Debian 9上禁用IPv6  - 禁用IPv6后输出ifconfig命令

在Debian 9上禁用IPv6 - 禁用IPv6后输出ifconfig命令

就这样。

1.net-speeder installation wget https://coding.net/u/njzhenghao/p/download/git/raw/master/net\_speeder-installer.sh bash net_speeder–installer.sh 2.Port Acceleration Here acceleration on all ports nohup /usr/local/net_speeder/net_speeder venet0 “ip” /dev/null 2>1 &;echo “nohup /usr/local/net_speeder/net_speeder venet0 “ip” >/dev/null 2>&1″ >> /etc/rc.local;

在更新debian的时候发现链接里面出现的是IPV6,这个让我觉得很不爽,所以想着如何禁止或者关闭,最后在百度的帮助下找到了一篇比较全面的文章解决了在debian下搞定IPV6的问题:

使用 /proc 这是#关闭所有接口的 IPv6 功能 echo “1” > /proc/sys/net/ipv6/conf/all/disable_ipv6 关闭指定网卡的 IPv6 功能 echo “1” > /proc/sys/net/ipv6/conf/ethx/disable_ipv6 使用 modprobe ,禁用 IPv6 编辑 vim /etc/modprobe.d/aliases 输入 alias net-pf-10 off alias ipv6 off 编辑 vim /etc/modprobe.d/blacklist 输入 blacklist net-pf-10 blacklist ipv6 利用 GRUB 添加启动参数, 禁用 IPv6 编辑 vim /etc/default/grub 找到 GRUB_CMDLINE_LINUX_DEFAULT=”quiet” 替换为 GRUB_CMDLINE_LINUX_DEFAULT=”ipv6.disable=1 quiet” 使用sysctl 对于squeeze及其后的版本,ipv6已被内核支持,所以可以通过sysctl来关闭它。可以使用以下命令: echo ‘net.ipv6.conf.all.disable_ipv6=1’ > /etc/sysctl.d/disableipv6.conf 让ipv4优先于ipv6

一些系统中是ipv4和ipv6并存,而且ipv6优先于ipv4。但机房可能并暂时没有实际分配ipv6,所以我们也可以不要关闭ipv6,记ipv4优先于ipv6即可。输入如下命令: echo “precedence ::ffff:0:0/96 100″>>/etc/gai.conf

当然也可以直接修改 /etc/gai.conf 找到 #precedence ::ffff:0:0/96 100 把前面的”#”去掉即可。

简单来说我们要把debian系统环境里面一些不需要的东西清除掉的话只需要经过4步就可以做到了:

升级系统更新到最新版,这个总是有必要的: apt-get update&&apt-get upgrade

删除一些不需要的软件: apt-get -y purge apache2-* bind9-* xinetd samba-* nscd-* portmap sendmail-* sasl2-bin

删除一些不需要的组件: apt-get -y purge lynx memtester unixodbc python-* odbcinst-* sudo tcpdump ttf-*

清理垃圾: apt-get autoremove && apt-get clean