EverKB

Knowledge Base Ever

Cài đặt dịch vụ Shadowsocks bằng tập lệnh TeddySun trên CentOS7 và tối ưu hóa TcpBBR

2020-01-13 14:39:19

Nhãn: Shadowsocks,ShadowsocksR,Shadowsocks-Python,Shadowsocks-Libev,CentOS,CentOS7,Tcp BBR,

Trong một số trường hợp, bạn cần sử dụng dịch vụ Shadowsocks. Để cài đặt Shadowsocks trên CentOS 7, bạn có thể tham khảo tài liệu chính thức hoặc bạn có thể sử dụng tập lệnh rất thuận tiện từ TeddySun.

Chuẩn bị, cài đặt phần mềm cần thiết

sudo -i
yum install wget vim -y

Lệnh ba dòng để cài đặt dịch vụ Shadowsocks bằng tập lệnh

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
Kịch bản sẽ hỏi bạn sử dụng máy chủ nào, bao gồm Python, R, Go và libev.
Python: trưởng thành
R: Thêm nhầm lẫn
Đi: có thể có đồng thời tốt hơn
libev: dựa trên các thư viện không đồng bộ, về mặt lý thuyết là sự tương tranh tốt nhất

Nếu không có yêu cầu đặc biệt đòi hỏi, bạn có thể sử dụng Shadowsocks-Python mặc định, tập lệnh sẽ nhắc mật khẩu và cổng và phương thức mã hóa, có thể được sử dụng: xchacha20-ietf-poly1305, chacha20-ietf-poly1305, aes-256-gcm, v.v.
Which Shadowsocks server you'd select:
1.Shadowsocks-Python
2.ShadowsocksR
3.Shadowsocks-Go
4.Shadowsocks-libev
Please enter a number (default 1):
Sau khi cài đặt hoàn tất, tập lệnh sẽ đưa ra phản hồi về thông tin cấu hình cài đặt. Cấu hình này nằm trong /etc/shadowsocks-python/config.json. Nếu cần, bạn cũng có thể sửa đổi nó bằng VIM sau khi cài đặt.
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

Phần cấu hình nâng cao

BBR Là viết tắt của Bottleneck Bandwidth and Round-trip Time, ở đây TeddySun cũng cung cấp một tập lệnh để cài đặt.
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh

chmod +x bbr.sh

./bbr.sh
Sau khi thực hiện xong, bạn có thể sử dụng lệnh sysctl để xem và xác nhận các giá trị được cấu hình như sau
[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
Nếu giá trị trả về khác với giá trị trên, hãy thực thi đoạn mã sau:
echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
Cuối cùng, bắt đầu dịch vụ. Bạn cũng có thể viết một kịch bản.
/etc/init.d/shadowsocks-python restart
Non-CentOS sử dụng các phương thức phổ biến của Linux để tạo tập lệnh điều khiển
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
Thêm vào khởi động
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

Nhãn

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

Bài viết mới nhất