最近购买阿里云国际的ECS,在装完“出国访问”后发现无法联网,网络不通。最后发现是由于阿里云国际的端口并不是默认开启的,而是需要手动开启。
比如要添加443端口,端口范围填443/443,授权对象填0.0.0.0/0,保存即可。
这样就开通了443端口。
我们平时常用的主要就是添加443和80端口,22端口是默认开启的。
另外有一点,最好把默认的ICMP(IPV4)端口删了,重新添加一下。否则会出现ping不通的现象。(实际是通的)
on going
最近购买阿里云国际的ECS,在装完“出国访问”后发现无法联网,网络不通。最后发现是由于阿里云国际的端口并不是默认开启的,而是需要手动开启。
比如要添加443端口,端口范围填443/443,授权对象填0.0.0.0/0,保存即可。
这样就开通了443端口。
我们平时常用的主要就是添加443和80端口,22端口是默认开启的。
另外有一点,最好把默认的ICMP(IPV4)端口删了,重新添加一下。否则会出现ping不通的现象。(实际是通的)
刚才装完discuz,但是chrome浏览器怎么都打不开首页。
其实是nginx规则定义的问题。
server { listen 80; server_name xxx.xxx.com; index index.html index.htm index.php; ...... }
discuz的默认主页是forum.php这个文件,但是在nginx的主页格式定义里却没有这个文件名,所以将index这一行添加forum.php即可。修改后的格式如下:
index forum.php index.html index.htm index.php;
先前一篇文章讲了如何配置trojan的服务端。
新装的nginx配置其实和已有的nginx差不多,但后者问题可能会更多一点。今天说一下如何对原有的nginx如何手动配置。
可以用以下命令
ps -ef|grep nginx
一般都会显示nginx运行进程的全路径。(我的vps装了2个nginx,一般人可以忽略。)
以上图为例,/usr/local/nginx-1.8/就是我的nginx安装路径。
一般在安装目录下可以找到‘conf’这个文件夹,这里就是存放nginx配置文件的地方。默认的nginx配置文件命名为nginx.conf。
有两种方法,(都是在http的”{}”内加入,搞不清的可在http内最后一个”}”前加)
一种是直接在nginx.conf里修改
另一种是先将需要增加的内容写入一个新的文件,然后nginx.conf这个总配置文件里去调用刚才的子配置文件,命令是”incdlude 子配置文件“。记得要写对子配置文件的路径。
server { listen 127.0.0.1:80 default_server; server_name example.com; location / { proxy_pass https://www.ieee.org; #root /usr/share/nginx/html/; #index index.html; } add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always; } server { listen 80; #listen [::]:80; server_name example.com; return 301 https://example.com; } server { listen 80; #listen [::]:80; server_name _; return 444; }
(将example.com换成自己的域名)
解释:
行2-3:让网站从127.0.0.1这个IP的80端口释放流量,并且设为默认。(trojan就是从这个IP端口吸收流量)
行5:当输入你的网址,会自动跳转这个www.ieee.org,跳转网址你可以随意换。
行6-7:调用/usr/share/nginx/html这个目录下的静态网址作为伪装站点。(如果要用行6-7,把前面#取消掉,再把行5前加#)
行12-17:301重定向,行14为ipv6的端口,有些系统并不支持,所以打了#注释掉了。
行19-24:同上。
以安装地址为/usr/local/nginx-1.8为例,先进入到安装目录,然后下面有一个sbin的目录,进入,接着运行下面指令
./nginx -s reload
现在网上能找到的一键脚本基本都要求debian9或以上版本才行,由于某些原因我并不打算升级debian,却想用上trojan,在一番折腾后发现debian8也是可以的。但是8以下的版本没有试过。
本文不包括nginx配置。
trojan先从正常网站(监听http 80端口)吸取流量,然后将流量作为伪装成加密的正常网站(https 443端口)释放给客户端(用户)。
bash -c "$(curl -fsSL https://raw.githubusercontent.com/trojan-gfw/trojan-quickstart/master/trojan-quickstart.sh)"
然后会得到几个重要的路径
1,配置文件路径
/usr/local/etc/trojan/config.json
2,启动文件路径
/etc/systemd/system/trojan.service
输入以下命令
vi /usr/local/etc/trojan/config.json
这里需要修改的一般只有cert:和key:两行。分辨填入ssl证书和密钥文件的路径。
至于如何获得ssl证书和密钥可以参考另外一篇文章:freessl申请免费ssl证书。
额外提几点:
1,修改“local_port”也是可以的,但是这样就没法伪装成常用的https流量。(常用https端口为443),这就违背了trojan最大的意图–伪装。
2,检查443端口有没有被其他进程占用,使用以下命令
lsof -i:443
如果有发现443端口被占用,上述命令可以显示进程的PID,然后用kill+pid数字关掉进程。但这只是一时的,下次启动这个进程可能还是会继续占用443端口,最好的办法就是让那个进程使用其他端口。这里就不展开说了。
输入以下命令
vi /etc/systemd/system/trojan.service
这就是debian8和debian9以上的区别!
将
ExecStart=”/usr/local/bin/trojan” “/usr/local/etc/trojan/config.json”
替换成
ExecStart=/usr/local/bin/trojan -c “/usr/local/etc/trojan/config.json”
修改完后重新加载一下
systemctl daemon-reload
启动
systemctl start trojan
重启
systemctl restart trojan
状态查询(如果有显示绿色active(running),就表示正常运行中)
systemctl status trojan
错误查询
journalctl -e -u trojan.service
开机自动启动
systemctl enable trojan
本文研究主要参考文章: