EverKB

Knowledge Base Ever

Namestite storitev Shadowsocks z uporabo skripta TeddySun na CentOS7 in optimizirajte TcpBBR

2020-01-13 14:39:19

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

V nekaterih scenarijih morate uporabiti storitev Shadowsocks. Če želite namestiti Shadowsocks v CentOS 7, se lahko obrnete na uradno dokumentacijo ali uporabite zelo priročen skript iz TeddySun.

Priprava, namestitev potrebne programske opreme

sudo -i
yum install wget vim -y

Tristezni ukaz za namestitev storitve Shadowsocks s skriptom

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 vas vpraša, kateri strežnik naj uporabljate, vključno s Python, R, Go in libev.
Python: zrel
R: Dodana zmeda
Pojdi: morda je boljše sočasnost
libev: temelji na asinhronih knjižnicah, teoretično najboljša sočasnost

Če ni posebno zahtevnih zahtev, lahko uporabite privzeti Shadowsocks-Python, potem bo skript pozval geslo in vrata in način šifriranja, ki ga lahko uporabite: xchacha20-ietf-poly1305, chacha20-ietf-poly1305, aes-256-gcm itd.
Which Shadowsocks server you'd select:
1.Shadowsocks-Python
2.ShadowsocksR
3.Shadowsocks-Go
4.Shadowsocks-libev
Please enter a number (default 1):
Po končani namestitvi bo skript poslal povratne informacije o informacijah o konfiguraciji namestitve. Ta konfiguracija je v /etc/shadowsocks-python/config.json. Če je potrebno, lahko uporabite tudi VIM, da jo spremenite po namestitvi.
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

Oddelek za napredno konfiguracijo

BBR Kratek za Bottleneck Bandwidth and Round-trip Time, tukaj TeddySun ponuja tudi skript za namestitev.
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh

chmod +x bbr.sh

./bbr.sh
Ko je izvedba končana, lahko uporabite ukaz sysctl za ogled in potrditev konfiguriranih vrednosti na naslednji način
[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
Če se vrnilna vrednost razlikuje od zgornje, izvedite naslednjo kodo:
echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
Končno zaženite storitev. Lahko tudi napišete scenarij.
/etc/init.d/shadowsocks-python restart
Non-CentOS uporablja običajne metode Linuxa za ustvarjanje kontrolnih skriptov
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
Dodaj v škorenj
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

Oznaka

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