EverKB

Knowledge Base Ever

ติดตั้งบริการ Shadowsocks โดยใช้สคริปต์ TeddySun บน CentOS7 และปรับแต่ง TcpBBR

2020-01-13 14:39:19

แท็ก: Shadowsocks,ShadowsocksR,Shadowsocks-Python,Shadowsocks-Libev,CentOS,CentOS7,Tcp BBR,

ในบางสถานการณ์คุณต้องใช้บริการ Shadowsocks ในการติดตั้ง Shadowsocks บน CentOS 7 คุณสามารถอ้างอิงเอกสารอย่างเป็นทางการหรือคุณสามารถใช้สคริปต์ที่สะดวกมากจาก TeddySun

การเตรียมการติดตั้งซอฟต์แวร์ที่จำเป็น

sudo -i
yum install wget vim -y

คำสั่งสามบรรทัดเพื่อติดตั้งบริการ Shadowsocks โดยใช้สคริปต์

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
สคริปต์จะขอให้คุณใช้เซิร์ฟเวอร์ตัวใดรวมถึง Python, R, Go และ libev
Python: เป็นผู้ใหญ่
R: เพิ่มความสับสน
ไป: อาจจะมีการทำงานพร้อมกันที่ดีขึ้น
libev: ขึ้นอยู่กับไลบรารีแบบอะซิงโครนัสทฤษฎีพร้อมกันที่ดีที่สุดในทางทฤษฎี

หากไม่มีข้อกำหนดที่ต้องการเป็นพิเศษคุณสามารถใช้ Shadowsocks-Python ที่เป็นค่าเริ่มต้นจากนั้นสคริปต์จะแจ้งให้ใส่รหัสผ่านและพอร์ตรวมถึงวิธีการเข้ารหัสคุณสามารถใช้: xchacha20-ietf-poly1305, chacha20-ietf-poly1305, aes-256-gcm, ฯลฯ
Which Shadowsocks server you'd select:
1.Shadowsocks-Python
2.ShadowsocksR
3.Shadowsocks-Go
4.Shadowsocks-libev
Please enter a number (default 1):
หลังจากการติดตั้งเสร็จสมบูรณ์สคริปต์จะให้ข้อเสนอแนะเกี่ยวกับข้อมูลการกำหนดค่าการติดตั้งการกำหนดค่านี้อยู่ใน /etc/shadowsocks-python/config.json หากจำเป็นคุณสามารถแก้ไขได้โดยใช้ 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

ส่วนการกำหนดค่าขั้นสูง

BBR ย่อมาจาก Bottleneck Bandwidth and Round-trip Time ที่นี่ TeddySun ยังมีสคริปต์สำหรับติดตั้ง
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh

chmod +x bbr.sh

./bbr.sh
หลังจากการดำเนินการเสร็จสมบูรณ์คุณสามารถใช้คำสั่ง sysctl เพื่อดูและยืนยันค่าที่กำหนดไว้ดังต่อไปนี้
[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
หากค่าส่งคืนแตกต่างจากด้านบนให้รันโค้ดต่อไปนี้:
echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
ในที่สุดเริ่มบริการ นอกจากนี้คุณยังสามารถเขียนสคริปต์
/etc/init.d/shadowsocks-python restart
Non-CentOS ใช้วิธีการทั่วไปของ 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
เพิ่มในการบูต
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

แท็ก

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

บทความล่าสุด