|--摘 超简单Centos vpn 搭建方法 只需三步,快速搭建vpn
现在国内的服务器商已经不提供此服务,安装上了也用不了。主机CENTOS 6.5 64X 第一步: 下载vpn(CentOS6专用)一键安装包 #wget http://www.iamh...
现在国内的服务器商已经不提供此服务,安装上了也用不了。
主机CENTOS 6.5 64X
第一步: 下载vpn(CentOS6专用)一键安装包
#wget http://www.iamhackspace.com/download/shell/vpn_cent6.sh #chmod a+x vpn_cent6.sh
第二步: 运行一键安装包
#bash vpn_cent6.sh
会有三个选择:
- 安装VPN服务
- 修复VPN
- 添加VPN用户
首先输入1,回车,VPS开始安装VPN服务(VPN服务安装完毕后会默认生成一个用户名为vpn,密码为随机数的用户来。可以编辑/etc/ppp/chap-secrets设置VPN账号密码,可以把这个账号去掉)...
|--转 CentOS 6、7下pptp vpn一键安装脚本
之前有折腾过《CentOS 6、7下IPSEC/L2TP VPN一键安装脚本》,不稳定、不支持IOS,因此换成pptp,并已经添加到《lnmp一键安装包》。这个脚本可以单独使用,直接复...
之前有折腾过《CentOS 6、7下IPSEC/L2TP VPN一键安装脚本》,不稳定、不支持IOS,因此换成pptp,并已经添加到《lnmp一键安装包》。这个脚本可以单独使用,直接复制或下载执行即可,不用依赖安装包的其它脚本。
CentOS 6、7下pptp vpn一键安装脚本,安装如下:
- wget http://mirrors.linuxeye.com/scripts/vpn_centos.sh
- chmod +x ./vpn_centos.sh
- ./vpn_centos.sh
#!/bin/bash # # Author: yeho # Blog: //blog.linuxeye.com # # Installs a PPTP VPN-only system for CentOS # Check if user is root [ $(id -u) != "0" ] && { echo -e "\033[31mError: You must be root to run this script\033[0m"; exit 1; } export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin clear printf " ####################################################################### # LNMP/LAMP/LANMP for CentOS/RadHat 5+ Debian 6+ and Ubuntu 12+ # # Installs a PPTP VPN-only system for CentOS # # For more information please visit //blog.linuxeye.com/31.html # ####################################################################### " [ ! -e '/usr/bin/curl' ] && yum -y install curl VPN_IP=`curl ipv4.icanhazip.com` VPN_USER="linuxeye" VPN_PASS="linuxeye" VPN_LOCAL="192.168.0.150" VPN_REMOTE="192.168.0.151-200" while :; do echo read -p "Please input username: " VPN_USER [ -n "$VPN_USER" ] && break done while :; do echo read -p "Please input password: " VPN_PASS [ -n "$VPN_PASS" ] && break done clear if [ -f /etc/redhat-release -a -n "`grep ' 7\.' /etc/redhat-release`" ];then #CentOS_REL=7 if [ ! -e /etc/yum.repos.d/epel.repo ];then cat > /etc/yum.repos.d/epel.repo << EOF [epel] name=Extra Packages for Enterprise Linux 7 - \$basearch #baseurl=http://download.fedoraproject.org/pub/epel/7/\$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=\$basearch failovermethod=priority enabled=1 gpgcheck=0 EOF fi for Package in wget make openssl gcc-c++ ppp pptpd iptables iptables-services do yum -y install $Package done echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf elif [ -f /etc/redhat-release -a -n "`grep ' 6\.' /etc/redhat-release`" ];then #CentOS_REL=6 for Package in wget make openssl gcc-c++ iptables ppp do yum -y install $Package done sed -i 's@net.ipv4.ip_forward.*@net.ipv4.ip_forward = 1@g' /etc/sysctl.conf rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm yum -y install pptpd else echo -e "\033[31mDoes not support this OS, Please contact the author! \033[0m" exit 1 fi echo "1" > /proc/sys/net/ipv4/ip_forward sysctl -p /etc/sysctl.conf [ -z "`grep '^localip' /etc/pptpd.conf`" ] && echo "localip $VPN_LOCAL" >> /etc/pptpd.conf # Local IP address of your VPN server [ -z "`grep '^remoteip' /etc/pptpd.conf`" ] && echo "remoteip $VPN_REMOTE" >> /etc/pptpd.conf # Scope for your home network if [ -z "`grep '^ms-dns' /etc/ppp/options.pptpd`" ];then cat >> /etc/ppp/options.pptpd << EOF ms-dns 223.5.5.5 # Aliyun DNS Primary ms-dns 114.114.114.114 # 114 DNS Primary ms-dns 8.8.8.8 # Google DNS Primary ms-dns 209.244.0.3 # Level3 Primary ms-dns 208.67.222.222 # OpenDNS Primary EOF fi echo "$VPN_USER pptpd $VPN_PASS *" >> /etc/ppp/chap-secrets ETH=`route | grep default | awk '{print $NF}'` [ -z "`grep '1723 -j ACCEPT' /etc/sysconfig/iptables`" ] && iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT [ -z "`grep 'gre -j ACCEPT' /etc/sysconfig/iptables`" ] && iptables -I INPUT 5 -p gre -j ACCEPT iptables -t nat -A POSTROUTING -o $ETH -j MASQUERADE iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356 service iptables save sed -i 's@^-A INPUT -j REJECT --reject-with icmp-host-prohibited@#-A INPUT -j REJECT --reject-with icmp-host-prohibited@' /etc/sysconfig/iptables sed -i 's@^-A FORWARD -j REJECT --reject-with icmp-host-prohibited@#-A FORWARD -j REJECT --reject-with icmp-host-prohibited@' /etc/sysconfig/iptables service iptables restart chkconfig iptables on service pptpd restart chkconfig pptpd on clear echo -e "You can now connect to your VPN via your external IP \033[32m${VPN_IP}\033[0m" echo -e "Username: \033[32m${VPN_USER}\033[0m" echo -e "Password: \033[32m${VPN_PASS}\033[0m"
参考:https://github.com/drewsymo/VPN ...
|--转 linux下swap分区的作用
嵌入式Linux中文站消息,Linux系统的Swap分区,即交换区,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,...
嵌入式Linux中文站消息,Linux系统的Swap分区,即交换区,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。
如大家所知,现代操作系统都实现了“虚拟内存”这一技术,不但在功能上突破了物理内存的限制,使程序可以操纵大于实际物理内存的空间,更重要的是,“虚拟内存”是隔离每个进程的安全保护网,使每个进程都不受其它程序的干扰。
可能计算机用户会经常遇这种现象。例如,在使用Windows系统时,可以同时运行多个程序,当你切换到一个很长时间没有理会的程序时,会听到硬盘“哗哗”直响。这是因为这个程序的内存被那些频繁运行的程序给“偷走”了,放到了Swap区中。因此,一旦此程序被放置到前端,它就会从Swap区取回自己的数据,将其放进内存,然后接着运行。
另外,并不是所有从物理内存中交换出来的数据都会被放到Swap中(如果这样的话,Swap就会不堪重负),有相当一部分数据被直接交换到文件系统。例如,有的程序会打开一些文件,对文件进行读写(其实每个程序都至少要打开一个文件,那就是运行程序本身),当需要将这些程序的内存空间交换出去时,就没有必要将文件部分的数据放到Swap空间中了,而可以直接将其放到文件里去。如果是读文件操作,那么内存数据被直接释放,不需要交换出来,因为下次需要时,可直接从文件系统恢复;如果是写文件,只需要将变化的数据保存到文件中,以便恢复。但是那些用malloc和new函数生成的对象的数据则不同,它们需要Swap空间,因为它们在文件系统中没有相应的“储备”文件,因此被称作“匿名”(Anonymous)内存数据。这类数据还包括堆栈中的一些状态和变量数据等。所以说,Swap空间是“匿名”数据的交换空间。
突破128M Swap限制
有些Linux(国内汉化版)安装手册上有这样的说明:Swap空间不能超过128M。为什么会有这种说法?在说明“128M”这个数字的来历之前,先给问题一个回答:现在根本不存在128M的限制!现在的限制是2G!
Linux系统中的Swap空间是分页的,每一页的大小和内存页的大小一样,方便Swap空间和内存之间的数据交换。旧版本的Linux实现Swap空间时,用Swap空间的第一页作为所有Swap空间页的一个“位映射”(Bit map)。这就是说第一页的每一位,都对应着一页Swap空间。如果这一位是1,表示此页Swap可用;如果是0,表示此页是坏块,不能使用。这么说来,第一个Swap映射位应该是0,因为,第一页Swap是映射页。另外,最后10个映射位也被占用,用来表示Swap的版本(原来的版本是Swap_space ,现在的版本是swapspace2)。那么,如果说一页的大小为s,这种Swap的实现方法共能管理“8 * ( s - 10 ) - 1”个Swap页。对于i386系统来说s=4096,则空间大小共为133890048,如果认为1 MB=2^20 Byte的话,大小正好为128M。
这样来实现Swap空间的管理,是要防止Swap空间中有坏块。如果系统检查到Swap中有坏块,则在相应的位映射上标记上0,表示此页不可用。这样在使用Swap时,不至于用到坏块,而使系统产生错误。
现在的系统设计者认为:
1.现在硬盘质量很好,坏块很少。
2.就算有,也不多,只需要将坏块罗列出来,而不需要为每一页建立映射。
3.如果有很多坏块,就不应该将此硬盘作为Swap空间使用。
于是,现在的Linux取消了位映射的方法,也就取消了128M的限制。直接用地址访问,限制为2G。
Swap配置对性能的影响
对于分配太多的Swap空间,会浪费磁盘空间,而Swap空间太少,则系统会发生错误。
当系统的物理内存用光了,系统就会跑得很慢,但仍能运行;如果Swap空间用光了,那么系统就会发生错误。例如,Web服务器能根据不同的请求数量衍生出多个服务进程(或线程),如果Swap空间用完,则服务进程无法启动,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。因此Swap空间的分配是很重要的。...
|--原 vultr服务器丢包很严重
vultr的1024 MB High Frequency 和1024 MB Cloud Compute,不管那个地区的服务器,丢包都很严重,不适合做客户端加速器。
相比之下,亿速云的美国华盛顿西雅图服务器162.250.97.91,虽然延迟190ms左右,但是一个包都不丢,这个是怎么做到的,我这边是电信宽带,难道正巧这个也是走的电信线路吗...
|--原 香港服务器,亿速云差不多1个月64元,阿里云ECS一个月也要72元
香港服务器,亿速云差不多1个月64元,阿里云ECS一个月也要72元,现在钱毛的厉害。20200505...
|--转 Centos 7 卸载编译安装的 Nginx
原文链接:https://www.blsa.cn/post/detail?id=106
安装:Centos 7 编译安装 nginx-1.15.7
1. 卸载过程:
1.1 如果是源码编译安装
# 如果有自启动,则删除 Nginx 的自启动 [root@bogon nginx-1.15.7]# chkconfig nginx off
服务 nginx 信息读取出错:没有那个文件或目录 # 查找nginx的安装目录
[root@bogon nginx-1.15.7]# whereis nginx
nginx: /usr/local/nginx # 停止nginx服务
[root@bogon nginx-1.15.7]# /usr/local/nginx/sbin/nginx -s stop # 删除安装目录
[root@bogon nginx-1.15.7]# rm -rf /usr/local/nginx/ # 查找是否还有残余的
[root@bogon nginx-1.15.7]# find / -name nginx
/usr/local/lib64/nginx-1.15.7/objs/nginx
[root@bogon nginx-1.15.7]# rm -rf /usr/local/lib64/nginx-1.15.7/
[root@bogon nginx-1.15.7]#
1.2 如果是yum安装
[root@bogon nginx-1.15.7]# yum remove nginx
结束。 ...
|--转 修改nginx默认端口,使其占用非80端口
在web服务器中,不管是Apache还是Nginx,这些服务器默认占用的端口都是80端口。但是,有时候80端口被占用,或者一些其他原因,我们需要这些服务工作在非80端口上,那么如何修改Nginx默认端口,使其占用8089端口(或者其它非80端口),方法步骤如下: 1.首先修改nginx根目录下的配置文件nginx.conf,修改如下: 1 2 3 4 5 6 7 8 9 server { listen 8089; server_name 192.168.171.210; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } 其中:listen后面的端口号改为你自己需要的端口号,server_name改为你自己的外网ip。server_name默认为localhost即127.0.0.1。 修改完配置文件后重启nginx:/usr/local/nginx/nginx -s reload.我的nginx是安装在/usr/local/目录下,根据你自己nginx的安装目录重启你的服务器。 2.然后修改防火墙配置文件 #配置防火墙,开启8089端口(注意:这里要开启你自己配置的端口,和上面listen指定端口一样) 1 2 vi /etc/sysconfig/iptables 添加如下语句: -A INPUT -m state --state NEW -m tcp -p tcp --dport 8089 -j ACCEPT #允许8089端口通过防火墙 防火墙配置修改完成后: 1 /etc/init.d/iptables restart #最后重启防火墙使配置生效 最后访问你的站点:http://ip:8089 其中ip是你设置的server_name也就是你外网的ip地址,访问站点时要记得加上你配置的端口号。
本文来源于:技术拉近你我!。
原文标题: 修改nginx默认端口,使其占用非80端口
原文链接:https://coderschool.cn/166.html
码字不容易,将心比心,转载请注明出处!...
|--转 Socat一键安装脚本,可转发TCP和UDP流量
原文链接:https://www.moerats.com/archives/621/
2018 年 05 月 11 日 最后修改:2018 年 12 月 09 日 04 : 44 PM
说明:一般用海外服务器的都会遇到线路爆炸,网络不好的情况,导致我们用55R
等软件的效果很差,这时候就可以用端口转发来改善这种情况,常见的转发有rinetd
、Haproxy
、iptables
、socat
,前面2
种只能转发TCP
,后面TCP
/UDP
都可以转发,如果用来玩游戏的话就需要转发UDP
了,博主就写了个Socat
一键安装脚本,这里分享下。
安装
系统要求:支持CentOS 6+
、Debian 7+
、Ubuntu 14+
。脚本说明:脚本默认开启UDP
、TCP
转发,带开机自启功能,且一次只能转发单个端口,如果想转发多个端口请重复运行本脚本。提示:该脚本在Vultr
各个系统均测试通过,包括最新的Ubuntu 18.04
,如果有其它问题可以留言。
使用root
运行以下命令:
wget https://www.moerats.com/usr/shell/socat.sh && bash socat.sh
按要求输入以下信息:...