EverKB

Knowledge Base Ever

Nainstalujte službu Shadowsocks pomocí skriptu TeddySun na CentOS7 a optimalizujte TcpBBR

2020-01-13 14:39:19

Štítek: Shadowsocks,ShadowsocksR,Shadowsocks-Python,Shadowsocks-Libev,CentOS,CentOS7,Tcp BBR,

V některých scénářích musíte použít službu Shadowsocks. Chcete-li nainstalovat Shadowsocks na CentOS 7, můžete se podívat na oficiální dokumentaci, nebo můžete použít velmi pohodlný skript od TeddySun.

Příprava, instalace potřebného softwaru

sudo -i
yum install wget vim -y

Třířádkový příkaz k instalaci služby Shadowsocks pomocí skriptu

wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh

chmod +x shadowsocks-all.sh

./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log
Skript se vás zeptá, který server použít, včetně Pythonu, R, Go a libev.
Python: zralý
R: Přidán zmatek
Jdi: může být lepší souběžnost
libev: na základě asynchronních knihoven, teoreticky nejlepší souběžnost

Pokud neexistují žádné zvlášť náročné požadavky, můžete použít výchozí Shadowsocks-Python a skript vyzve k zadání hesla a portu a také k šifrovací metodě. Můžete použít: xchacha20-ietf-poly1305, chacha20-ietf-poly1305, aes-256-gcm atd.
Which Shadowsocks server you'd select:
1.Shadowsocks-Python
2.ShadowsocksR
3.Shadowsocks-Go
4.Shadowsocks-libev
Please enter a number (default 1):
Po dokončení instalace poskytne skript zpětnou vazbu k informacím o konfiguraci instalace. Tato konfigurace je v /etc/shadowsocks-python/config.json. V případě potřeby můžete po instalaci také upravit VIM.
Congratulations, Shadowsocks-Python server install completed!
Your Server IP        :  x.x.x.x
Your Server Port      :  12345
Your Password         :  PASSWORD
Your Encryption Method:  aes-256-gcm

Sekce pokročilé konfigurace

BBR Je zkratka pro Bottleneck Bandwidth and Round-trip Time, zde TeddySun také poskytuje skript k instalaci.
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh

chmod +x bbr.sh

./bbr.sh
Po dokončení provádění můžete pomocí příkazu sysctl zobrazit a potvrdit nakonfigurované hodnoty následujícím způsobem
[root@instance-1 ~]# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic bbr
[root@instance-1 ~]# sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = bbr
[root@instance-1 ~]# sysctl net.core.default_qdisc
net.core.default_qdisc = fq
[root@instance-1 ~]# lsmod | grep bbr
tcp_bbr                20480  12
Pokud se návratová hodnota liší od výše uvedeného, ​​proveďte následující kód:
echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
Nakonec spusťte službu. Můžete také napsat skript.
/etc/init.d/shadowsocks-python restart
Non-CentOS používá k vytváření řídicích skriptů běžné metody Linux
sudo vim /etc/init.d/shadowsocks
#!/bin/sh
### BEGIN INIT INFO
# Provides: shadowsocks
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start shadowsocks
# Description: start shadowsocks
### END INIT INFO
start(){
   ssserver -c /etc/ss-conf.json -d start
}
stop(){
   ssserver -c /etc/ss-conf.json -d stop
}
case “$1” in
start)
   start
   ;;
stop)
   stop
   ;;
reload)
   stop
   start
   ;;
*)
   echo “Usage: $0 {start|reload|stop}”
   exit 1
   ;;
esac
sudo chmod +x /etc/init.d/shadowsocks
Přidat do boot
sudo vim /etc/init/shadowsocks.conf
start on (runlevel [2345])stop on (runlevel [016])pre-start script
/etc/init.d/shadowsocks start
end script
post-stop script
/etc/init.d/shadowsocks stop
end script
sudo update-rc.d shadowsocks defaults

Štítek

CentOS7 CentOS PHP Linux Python3 Python MySQL MariaDB YUM JavaScript caching_sha2_password HTML mysql_native_password PHP7 CSS Redis MySQL8 daemon HTTP particles.js Slim Vincent Garreau Failed to build these modules: _uuid MongoDB Sudo DATE_ADD ip command pg_bha.conf SQL Server width Compiling Apache Frameworks MySQL-python scrollbar Tcp BBR Elasticsearch libpython3.7m.so.1.0 PHPStorm ss5-3.8.9 Apache2.4 CURLOPT_POSTFIELDS NodeJs show VIM Failed to build these modules: _ctypes Minimal ISO substr Bluetooth date sub INTERVAL PECL SQL Date Funcitons Wi-Fi CodeIgniter font-size root Tag Cloud dual network interfaces Laravel ss5 apache httpd CURLFille horiz-align node.js ShadowsocksR vertical-align exec mb_substr PyCharm SUBDATE BarManager date add IntelliJIDEA PEAR SOCKS5 Proxy Server WebStorm find remi Tag Chrome du jQuery PHP5.5 src Apache cURL hide nginx Shadowsocks-Python V2Ray eth0 MariaDB10.4 PostgreSQL sub folder availability date Install MongoDB pdo_sqlsrv SOCKS5 Web Server File Upload mssql-tools register_shutdown_function Symfony DevExpress JetBrain php-fpm sqlsrv Zend Framework ADDDATE height network interface Shadowsocks-Libev unixODBC-devel error_get_last Port 80 string Aura data INDENTIFIED BY password policy requirements SOCKS Web Development Fedora Media Writer msodbcsql Redis5 SVN Deepin jemalloc SQLAlchemy absolute convert FuelPHP mysqlclient Shadowsocks toggle Error Control Operator margin PHPUnit Framework ss5.passwd at-symbol daemon process IIS password SOCKET vps Fatal Errors MongoDB4 sudoers center DATE_SUB Phalcon SQL Server 2017 WiFi .htaccess Compiling PHP frequency conflict set_error_handler TestCase Elasticsearch7.3 PHPUnit ss5.conf apr