社内ネットワークへのcrocリレーサーバー構築で大容量データの転送速度を向上させる
TuBrief 편집팀
2026년 7월 19일
0
Computing/Software원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.
커뮤니티의 다른 글
댓글 (0)
Log in to leave a comment
아직 작성된 글이 없습니다
원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.
Log in to leave a comment
아직 작성된 글이 없습니다
セキュリティ規定により外部のクラウドストレージが使えず、大容量データを移動するたびに承認プロセスを経て時間を浪費しているIT担当者にとって、この記事が解決策となります。crocはPAKEプロトコルを使用しているため、中継サーバーであってもデータの内容を覗き見ることはできません。セキュリティポリシーに違反することなく、転送速度を確保する方法をまとめました。
外部サーバーを経由せず、DMZ領域に直接リレーサーバーを設置すれば、セキュリティチームの承認プロセスを省略できます。crocはTCP 9009ポートで制御信号をやり取りし、9010から9013ポートをデータ転送に使用します。この帯域を固定すれば、ファイアウォールのポリシー登録が可能になります。
Dockerコンテナを実行して環境を分離してください。
`bash
docker network create --driver bridge croc-dmz-net
docker run -d --name croc-relay
-p 9009:9009 -p 9010-9013:9010-9013
-e CROC_PASS='비밀번호'
docker.io/schollz/croc:latest
`
社内サーバーから毎回サーバーアドレスとパスワードを入力しなくて済むよう、プロファイルファイル(~/.bashrc)に以下の設定を追加してください。
`bash
export CROC_RELAY="내부서버IP:9009"
export CROC_PASS='비밀번호'
`
こうすることで、外部サーバーを経由しないため、データ転送の承認待ち時間がなくなります。
サーバーが再起動されるたびに手動でリレーを起動するのは非効率的です。systemdユニットファイルを作成し、プロセスを常時稼働させてください。rootではなくnobodyアカウントを使用すれば、セキュリティ事故時の被害を最小限に抑えられます。
/etc/systemd/system/croc-relay.serviceファイルを作成してください。
`ini
[Unit]
Description=croc relay service
[Service]
User=nobody
ExecStart=/usr/local/bin/croc relay --ports "9009,9010,9011,9012,9013"
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
`
作成後、systemctl daemon-reloadを実行し、systemctl enable --now croc-relay.serviceコマンドでサービスを立ち上げてください。サーバーが停止しても5秒以内に自動的に復旧します。
数百ギガバイト単位のプロジェクトフォルダを移動する際は、ファイルの欠落を防ぐ必要があります。tarでアーカイブし、チェックサムを確認する方法を使用してください。
転送スクリプトの例です。
`bash
tar -czf data.tar.gz ./project_folder
sha256sum data.tar.gz > checksum.txt
croc send data.tar.gz checksum.txt
croc recv [코드]
sha256sum -c checksum.txt && tar -xzf data.tar.gz
`
これにより、CVE-2023-43616のような展開時の脆弱性を回避しつつ、データが破損していないかを転送直後に確認できます。
データ転送量がテラバイト級になると、デフォルト設定ではボトルネックが生じます。セッションが切れないよう、/etc/sysctl.confにソケットパラメータを追加してください。
`bash
net.ipv4.tcp_keepalive_time=60
net.core.rmem_max=134217728
`
TCPキープアライブの間隔を60秒に短縮すれば、ステートフルなファイアウォールが強制的にセッションを切断する問題を解決できます。複数のチームが同時にこのサーバーを使用する場合、9010-9014、9020-9024のようにチームごとにポート帯域を割り当ててコンテナをそれぞれ起動してください。ファイアウォール設定さえ固定しておけば、チーム間での干渉なしに安定した転送が可能です。