CentOS 7 ShadowSocksクライアントのインストール
5212 ワード
背景
何らかの理由で、サーバはソフトウェア、プラグイン、スクリプトなどをインストールし、ネットワークの問題で接続できません.サーバにShadowSock(以下、SS)クライアントをインストールして「はしご」を構築する必要があります.
CentOS 7またはRHEL(Red Hat Enterprise Linux)7でShadowsocksをインストールするクライアントは非常に簡単です.COPR(Cool Other Package Repo)にはすでにパッケージされたs-libevがあるため、いくつかのコマンドだけでインストールが完了します.
ShadowSocksのインストール
root
としてサーバにログインするか、コマンドsudo su -
でパスワードを入力することでrootユーザに切り替えます.一般ユーザを使用する場合は、一般ユーザもroot
グループに参加し、各コマンドの前にsudo
を追加する必要がある.s-libevのインストール:
cd /etc/yum.repos.d/
curl -O https://copr.fedorainfracloud.org/coprs/librehat/s/repo/epel-7/librehat-s-epel-7.repo
yum install -y s-libev
インストールが完了すると、
ss-local
、ss-manager
、ss-nat
、ss-redir
、ss-server
、ss-tunnel
、ss-local
のコマンドが使用できます.このうち、クライアントとしては
ss-local
が必要ですが、ss-local
コマンドと直接付き合うことなく、サービスファイルを通じてShadowsocksを起動します.メモ:インストール・レポートが次のようなエラーの場合
Error: Package: s-libev-3.1.3-1.el7.centos.x86_64 (librehat-s)
Requires: libsodium >= 1.0.4
Error: Package: s-libev-3.1.3-1.el7.centos.x86_64 (librehat-s)
Requires: mbedtls
システムがEPEL(Extra Packages for Entreprise Linux)を有効にしていないことを示します.では、まずEPELを有効にして、s-libevをインストールする必要があります.
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install -y s-libev
インストールの確認
後述の構成を続行する前に、コマンドラインでss-localコマンドを1回実行し、sとその依存が正しくインストールされていることを確認します.
正常に動作している場合は、一般的な問題をスキップして、プロファイルの追加を続行します.
よくある質問
実行
ss-local: error while loading shared libraries: libmbedcrypto.so.0: cannot open shared object file: No such file or directory
エラー:/etc/s-libev/config.json
rootアイデンティティを使用して、次のコマンドを実行します.cd /usr/lib64
ln -s libmbedcrypto.so.1 libmbedcrypto.so.0
プロファイルの追加
COPRのs-libevは
"server"
にあるプロファイルをデフォルトで読み込み、必要に応じて以下のプロファイルを参照して変更できます.{
"server": "10.10.10.10",
"server_port": 9999,
"local_port": 1080,
"password": "ss-password",
"method": "aes-256-cfb",
"mode": "tcp_and_udp",
"timeout": 600
}
"server_port"
:必ず記入し、接続するsサーバドメイン名またはIPを記入します."local_port"
:必ず記入し、サーバ上のsが傍受しているポートに記入します."password"
:必要に応じて、ローカルsクライアントSOCKS 5エージェントが傍受するポートに入力します."method"
:必須、パスワード、sサーバ側の構成と一致する必要があります."mode"
:必須、暗号化方法、sサーバ側の構成と一致する必要があります."tcp_only"
:選択、デフォルト"tcp_only"
."udp_only"
、"tcp_and_udp"
、および"timeout"
に記入できます./etc/sysconfig/s-libev
:選択、非アクティブ接続の保持時間.デフォルトでは60秒で、設定時間が長くなるとHTTPの長い接続などを維持するのに役立ちます.設定時間が長すぎると、sサーバリソースが不要になります.デフォルトのプロファイルを変更したり、他のコマンドラインパラメータを指定したりする場合は、
CONFFILE
を変更できます.# Configuration file
CONFFILE="/etc/s-libev/config.json"
# Extra command line arguments
DAEMON_ARGS="-u"
このうち
DAEMON_ARGS
は、s-libevが読み取ったプロファイルを指定する."-u"
は、UDPプロトコルの有効化を示す追加のコマンドラインパラメータを指定する.なお、コマンドラインパラメータ
DAEMON_ARGS
は、プロファイルCONFFILE
で指定されたオプションよりも優先度が高い.サービスの開始
システムを通じてShadowsocksのクライアントサービスを起動する:
systemctl enable --now s-libev-local
以上のコマンドは、Shadowsocksクライアントサービスの起動自動起動も設定します.
サービスステータスの確認
Shadowsocksのサービス実行ステータスと最新ログを確認するには、次のコマンドを実行します.
systemctl status s-libev-local
Shadowsocksサービスのすべてのログを表示するには、次のコマンドを実行します.
journalctl -u s-libev-local
テスト:
curl --socks5 127.0.0.1:1080 http://httpbin.org/ip
# ss ip
{
"origin": "10.10.10.10" # s IP
}
プロキシの設定
privoxyのインストール
yum install privoxy
privoxyプロファイルの変更
/etc/privoxy/config
listen-address 127.0.0.1:8118
forward-socks5t / 127.0.0.1:1080 .
privoxyサービスの開始
systemctl enable privoxy
systemctl start privoxy
systemctl status privoxy
プロキシ環境変数の設定
echo -e "export http_proxy=http://127.0.0.1:8118" >> /etc/profile
echo -e "export https_proxy=http://127.0.0.1:8118" >> /etc/profile
source /etc/profile
テスト
curl www.google.com
多くのHTMLを返すと、sが正常に動作していることを示します.
備考:エージェントを使用する必要がなければ、
/etc/profile
の構成を注釈すればよい.yumエージェントの構成
# yum.conf
vim /etc/yum.conf
#
proxy=https://127.0.0.1:8118
#
wgetエージェントの構成
# wget
vim /etc/wgetrc
# , ,
use_proxy = on
https_proxy=https://127.0.0.1:8118
http_proxy=http://127.0.0.1:8118
ftp_proxy=http://127.0.0.1:8118
#