EverKB

Knowledge Base Ever

Instal·leu el servei de Shadowsocks mitjançant script de TeddySun a CentOS7 i optimitzeu TcpBBR

2020-01-13 14:39:19

Etiqueta: Shadowsocks,ShadowsocksR,Shadowsocks-Python,Shadowsocks-Libev,CentOS,CentOS7,Tcp BBR,

En alguns escenaris, heu d'utilitzar el servei Shadowsocks. Per instal·lar Shadowsocks a CentOS 7, podeu referir-vos a la documentació oficial o podeu utilitzar un script molt convenient de TeddySun.

Preparació, instal·lació del programari necessari

sudo -i
yum install wget vim -y

Comanda de tres línies per instal·lar el servei Shadowsocks mitjançant un script

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
L'script us preguntarà quin servidor heu de fer servir, inclosos Python, R, Go i libev.
Python: madur
R: Confusió afegida
Vaja: hi pot haver una millor concurrència
libev: basat en biblioteques asíncrones, teòricament és la millor concurrència

Si no hi ha requisits especialment exigents, podeu utilitzar Shadowsocks-Python per defecte, i el script us demanarà la contrasenya i el port, així com el mètode de xifrat. Podeu utilitzar: xchacha20-ietf-poly1305, chacha20-ietf-poly1305, aes-256-gcm, etc.
Which Shadowsocks server you'd select:
1.Shadowsocks-Python
2.ShadowsocksR
3.Shadowsocks-Go
4.Shadowsocks-libev
Please enter a number (default 1):
Un cop finalitzada la instal·lació, el guió proporcionarà una informació de la informació de configuració de la instal·lació. Aquesta configuració està en /etc/shadowsocks-python/config.json. Si és necessari, també podeu utilitzar VIM per modificar-la després de la instal·lació.
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

Secció de configuració avançada

BBR És curt per a Bottleneck Bandwidth and Round-trip Time, aquí TeddySun també proporciona un script per instal·lar.
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh

chmod +x bbr.sh

./bbr.sh
Després de finalitzar l'execució, podeu utilitzar l'ordre sysctl per veure i confirmar els valors configurats de la següent manera
[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
Si el valor de devolució és diferent del anterior, executeu el codi següent:
echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
Finalment, inicia el servei. També podeu escriure un guió.
/etc/init.d/shadowsocks-python restart
No CentOS utilitza mètodes comuns de Linux per crear scripts de control
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
Afegeix per arrencar
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

Etiqueta

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