Ubuntu开机后自动运行
现在可以科学上网了,可是每次开机都要手动打开终端输入一条命令,虽然这条命令并不长,但是每次都去手动输入,显得自己很low,而且关掉终端代理就关闭了。
写个脚本
我们可以在比如/home下新建个文件叫做shadow.sh,在里面写上我们启动ss客户端需要的命令,然后保存即可。
#!/bin/bash
#shadow.sh
sslocal -c /etc/shadowsocks.json
看可不可以我们到终端执行命令 sh /home/shadow.sh,如果成功的话会有信息输出的。你也可以到浏览器去试试。这个时候你虽然输入的少了,可是关了终端还是会掉的,我们可以让他在后台运行,nohup sh /home/shadow.sh &。
加入开机运行
这里我们需要在/etc下编辑一个叫rc,local的文件,需要root权限,在终端先su获取root权限。
这里问题来了,因为我们要开机启动,要使用root权限来执行前面写好的脚本,但如果你的shawdocks不是在root下装的话,执行脚本是就会报错:
“Traceback (most recent call last):
File “/home/gaoxw/.local/bin/sslocal”, line 7, in
from shadowsocks.local import main”
使用sudo安装还是会报上面这个错误。
如果你有root帐号的话,然后vim /etc/rc.local编辑,在exit之前输入nohup bash /home/shadow.sh>/home/d.txt & 保存。
这个时候你可以reboot重启了,测试下看看能不能后台自动运行,重启你可以先去看下我们要他输出d.txt,你竟然发现是 /home/shadow.sh line 3 :sslocal: command not found,打开浏览器果然是无法链接代理服务器。
经过一番搜索我们发现远离linux是找不到sslocal这条命令?需要添加路径,我们发现sslocal和ssserver这两个命令是被存在 /usr/local/bin下面的,其实不用去profile添加了,直接把这两个文件移动到/bin下,就可以了。
1
输出两条进程信息就说明成功开启了。
为了提升安全等级,禁止root账号通过ssh登录
cd /etc/ssh/ vi sshd_config
启动ss客户端
前两步很简单,可是有人就纳闷了安装好了不知道怎么用,其实可以用sslocal -help 来查看帮助就知道了
sslocal -c /etc/shadowsocks.json
一条命令代理就可以启动了。
这里仅仅是启动了shadowsocks还是不行的,我们还需要设置相关的代理。
1
sudo find / -name sslocal
python pip安装使用
如果直接使用yum -y install python-pip
命令安装会报错
No package python-pip available.
Error: Nothing to do
这是因为像CentOS这类衍生出来的发行版,他们的源有时候内容更新的比较滞后,或者说有时候一些扩展的源根本就没有。所以在使用yum来search python-pip的时候,会说没有找到该软件包。因此为了能够安装这些包,需要先安装扩展源EPEL(EPEL 是yum的一个软件源,里面包含了许多基本源里没有的软件)。
#首先安装epel扩展源:
yum -y install epel-release
#然后安装python-pip
yum -y install python-pip
#安装完之后别忘了清除一下cache
yum clean all
#搞定!安装ShadowSocks客户端
安装前需先安装pythos-pip
#安装ShadowSocks
pip install shadowsocks
#新建ss配置文件
vi /etc/shadowsocks.json
#将下面内容写入文件
{
"server":"1.1.1.1", #ss服务器IP
"server_port":1035, #端口
"local_address": "127.0.0.1", #本地ip
"local_port":1080, #本地端口
"password":"password", #连接ss密码
使用shadowsocks客户端的方法,后面的数字是随机生成的。"timeout":300, #等待超时
"method":"rc4-md5", #加密方式
"fast_open": false, # true 或 false。如果你的服务器 Linux 内核在3.7+,可以开启 fast_open 以降低延迟。开启方法: echo 3 > /proc/sys/net/ipv4/tcp_fastopen 开启之后,将 fast_open 的配置设置为 true 即可
"workers": 1 # 工作线程数
}
#写好后,保存并退出
启动ShadowSocks
#让ShadowSocks在后台运行
nohup sslocal -c /etc/shadowsocks.json /dev/null 2>&1 &
#澳门新濠3559,加入开机自动启动
echo " nohup sslocal -c /etc/shadowsocks.json /dev/null 2>&1 &" /etc/rc.local
查看SS的状态
ps aux |grep sslocal |grep -v "grep"
#运行显示如下
root 7587 0.1 0.1 184180 8624 pts/0 S 08:44 0:03 /usr/bin/python /usr/bin/sslocal -c /etc/shadowsocks.json /dev/null
杀掉SS进程
#通过ps命令查看job的进程号(PID,假设为7587),然后执行kill pid
kill 7587安装PPPOE拨号上网
#第一步 搜寻pppoe可以找到pppoe相关套件,我们要使用的是rp-pppoe。
yum search pppoe
#第二步 使用yum安装rp-pppoe。
yum install rp-pppoe -y
#第三步 开始配置PPPoE连线。
pppoe-setup
#以下是设置项- 输入您的连线帐号
2. 输入您的网路介面卡,预设是eth0,基本上都是使用预设的,除非您的伺服器安装了多张网路介面卡,按Enter继续。
3. 这个步骤请输入no或直接按下Enter,否则如果您长时间连线,连线会被自动中断。 - 设定主要DNS伺服器,使用Google Public DNS,请输入8.8.8.8。
- 次要DNS伺服器,请输入8.8.4.4。
- 请输入连线密码。
- 请重复输入连线密码。
- 这里输入no就好了,不用使用一搬使用者权限做连线。
- 设定防火墙,输入0就好了,如果有特殊需求在额外设定吧。
- 是否开机自动拨号,请输入yes。
- 确认资料无误?是的话请输入y,重新设定请按Ctrl+C或输入n。
最后!执行连线动作,连线成功不会有讯息出现!
/sbin/ifup ppp0 或者 /sbin/pppoe-start#操作指令 : 结束连线 -> /sbin/ifdown ppp0 查看状态 -> /sbin/pppoe-status
- 输入您的连线帐号
安装配置vim
#开始安装
[root@localhost /]# yum -y install vim
#设置vim
[root@localhost /]# vim /etc/profile
#在最后一行添加
alias vi='vim'
#保存后退出
#使修改生效
[root@localhost /]# source /etc/profile#修改vim配置 [root@localhost /]# vim ~/.vimrc #在新建的文件内增加以下内容 set nocompatible #不考虑与vi的兼容 set tabstop=4 #Tab键的宽度 set softtabstop=4 #逢8空格进1制表符 set shiftwidth=4 #统一缩进量 set number #显示行号 set showmatch #高亮显示对应的括号 set wrap #长行自动换行显示 set list lcs=tab:¦ #设置缩进对齐线(注意后面有空格) #保存退出并使修改生效 [root@localhost /]# source ~/.vimrc
安装Apache
#通过yum安装httpd
yum install httpd
#检查是否安装成功
rpm -qi httpd
#设置自动启动
systemctl enable httpd.service
#启动apache服务器
systemctl start httpd.service
#查看apache服务器状态
systemctl status httpd.service#禁止通过浏览器访问网站目录结构 <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> #将`Options Indexes FollowSymLinks`改为`Options None`
配置浏览器
在firefox中
preference->advanced->network->connection->settings中选择手动设置代理,并将http代理设置为127.0.0.1
端口8123 (就是之前第二步配置的port)
做到这步应该就能通过shadowsocks访问了,但我遇到的电脑还是不行,后来将http代理下面的“Use
this proxy server for all
protocols(将代理应用到所有协议)”这个也钩上才可以了。
PS.如果跳过第二步,直接在第三部中配置http代理设置为127.0.0.1 端口1080,有些文章中是这样配置的,但是本人亲测这样无法连接上网。
5
1.安装shadowsocks
网络配置
CentOS 7取消了ifconfig命令,使用ip addr
命令查看IP地址
刚刚安装的CentOS 7无法联网,设置下面几步即可以联网。cd /etc/sysconfig/network-scripts/
转换HTTP代理
Shadowsocks默认是用Socks5协议的,对于Terminal的get,wget等走Http协议的地方是无能为力的,所以需要转换成Http代理,加强通用性,这里使用的转换方法是基于Polipo的。
输入命令安装Polipo:
sudo apt-get install polipo
修改配置文件:
sudo gedit /etc/polipo/config
将下面的内容整个替换到文件中并保存:
# This file only needs to list configuration variables that deviate
# from the default values. See /usr/share/doc/polipo/examples/config.sample
# and "polipo -v" for variables you can tweak and further information.
logSyslog = false
logFile = "/var/log/polipo/polipo.log"
socksParentProxy = "127.0.0.1:1080"
socksProxyType = socks5
chunkHighMark = 50331648
objectHighMark = 16384
serverMaxSlots = 64
serverSlots = 16
serverSlots1 = 32
proxyAddress = "0.0.0.0"
proxyPort = 8123
重启Polipo:
/etc/init.d/polipo restart
验证代理是否正常工作:
export http_proxy=”
curl www.google.com
如果正常,就会返回抓取到的Google网页内容。
另外,在浏览器中输入
2
4.开机启动shadowsocks(可选)
找到以太网卡配置文件ifcfg-enp文件,后面的数字是随机生成的
vi ifcfg-enp
将ONBOOT=no
改为ONBOOT=yes
保存并退出
重启network
service network restart
设置好重启后就可以联网了
配置
sudo vim /etc/shadowsocks.json
//这里的json文件是自己创建的,不是系统自带
配置文件的内容大致如下:
{
"server":"服务器的ip",
"server_port":服务器的端口,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"密码",
"timeout":300,
"method":"aes-256-cfb",
"fast_open":false
}
3
查看ss是否已经开启,用下面这个:
将文件内的#PermitRootLogin yes
修改为PermitRootLogin no
systemctl restart sshd.service
Linux下使用shadowsocks(以ubuntu16.04为例,非服务器),
系统环境:Ubuntu 16.04
执行vim /etc/profile,添加如下三句:
ps -ef | grep sslocal
安装
Linux不同的发行版执行的命令如下(最好在root下运行以下命令,原因我下面会说明):
Debian / Ubuntu:
apt-get install python-pip
pip install shadowsocks
CentOS:
yum install python-setuptools && easy_install pip
pip install shadowsocks
3
sudo sh /path/sslocal.sh
执行ps aux |grep sslocal |grep -v "grep"查看后台sslocal是否运行。
这里的"sslocal.sh"要写该脚本所在的路径
nohup sslocal -s your_server_ip -p your_server_port -l 1080 -k your_server_passwd -t 600 -m rc4-md5 > /dev/null 2>&1 &
一般在用户目录下创建sslocal.sh文件,内容如下:
安装客户端shadowsocks
sslocal -s "server_ip" -p "server_port" -b "127.0.0.1" -l 1080 -k "password" -t 600
2
2.配置shadowsocks
1,使用的是sslocal这个命令,表示shadowsocks以客户端模式工作
sudo vi /etc/rc.local
3
一般是在 /usr/local/bin/sslocal 下
2
以上代码用root执行效果较好
1
这里的"path"代表的是你机器上"sslocal.sh"所在的路径,如果路径和权限都没问题,在下次开机时就会启动ss了。
查看vim /usr/local/etc/privoxy/config文件,先搜索关键字:listen-address找到listen-address 127.0.0.1:8118这一句,保证这一句没有注释,8118就是将来http代理要输入的端口。然后搜索forward-socks5t,将forward-socks5t / 127.0.0.1:1080 .此句的注释去掉.
2,将上述命令里的your_server_ip,your_server_port,your_server_passwd换成自己的,这三个分别代表服务器ip,服务器上shadowsocks的端口以及密码.后面的rc4-md5加密方式也要换成跟server端一致。
3.启动shadowsocks
其实shadowsocks安装时是不分客户端还是服务器端的,只不过安装后有两个脚本一个是sslocal代表以客户端模式工作,一个是ssserver代表以服务器端模式工作。
注意
备注:如果不需要用代理了,记得把bash里的配置注释上,免得把流量跑完了。
在/etc/rc.local中添加启动命令
注意:此处不要用ping命令来检测
注意要写上sslocal的绝对路径
3
bash sslocal.sh start
2
sudo apt-get install python-pip
pip install shadowsocks
背景:前文介绍了客户端为iOS,Android,Mac,Windows时,使用shadowsocks客户端的方法。本文介绍客户端为CentOS(一般linux环境)时,(尤其是命令行里的命令)使用shadowsocks的方法。
在exit 0前添加
4
查找shadowsocks安装路径
exporthttp_proxy=
如果想增加开启自动启动,执行:echo " nohup sslocal -c /etc/shadowsocks.json /dev/null 2>&1 &" /etc/rc.local
9
1
配置/etc/profile
{"server":"your_server_ip",#ss服务器IP"server_port":your_server_port,#端口"local_address":"127.0.0.1",#本地ip"local_port":1080,#本地端口"password":"your_server_passwd",#连接ss密码"timeout":300,#等待超时"method":"rc4-md5",#加密方式"fast_open":false,# true 或 false。如果你的服务器 Linux 内核在3.7+,可以开启 fast_open 以降低延迟。开启方法: echo 3 > /proc/sys/net/ipv4/tcp_fastopen 开启之后,将 fast_open 的配置设置为 true 即可"workers":1# 工作线程数}
访问官网 -zxvf privoxy-3.0.24-stable-src.tar.gz解压,然后cd privoxy-3.0.24-stable进去。
上述安好了shadowsocks,但它是socks5代理,我门在shell里执行的命令,发起的网络请求现在还不支持socks5代理,只支持http/https代理。为了我门需要安装privoxy代理,它能把电脑上所有http请求转发给shadowsocks。
1
11
10
然后运行nohup sslocal -c /etc/shadowsocks.json /dev/null 2>&1 &启动shadowsocks。
第三句ftp的代理根据需要,不需要的话可以不添加.然后source /etc/profile,执行curl www.google.com或wget www.google.com判断是否成功访问。
安装Privoxy
nohup sslocal-c/etc/shadowsocks.json /dev/null2>&1&privoxy--user privoxy /usr/local/etc/privoxy/config
7
为了更方便,建议新建一个.json的文件,将上述信息放里面,如新建/etc/shadowsocks.json文件,内容为:
6
privoxy --user privoxy /usr/local/etc/privoxy/config
autoheader && autoconf./configuremake&&makeinstall
8
yuminstallpython-pippipinstallshadowsocks
2
3,前面的nohub表示后台执行,否则将会阻塞shell端口.
执行如下命令启动privoxy,参考官网,不同的平台对应不同的方法:
如果不能访问,请重启机器,依次打开shadowsocks和privoxy再测试.
安装前需要执行useradd privoxy创建一个用户privoxy,然后依次执行如下三条命令:
依次执行上述两个命令,先安装python的pip,然后安装shadowsocks。然后执行下述命令后台启动:
编辑:服务器运维 本文来源:使用shadowsocks客户端的方法,后面的数字是随机生
关键词: