背景 同僚がセキュリティ プロジェクトに取り組んでおり、AWS サーバーに秘密兵器を展開する必要があります。秘密兵器は Docker を通じて展開されます。展開前は、ジャンプ サーバーのイントラネットおよびエクストラネット SSH 経由でサーバーにログインできます。展開後は、エクストラネット SSH 経由でのみサーバーにログインできます。症状はまさにこのとおりで、薬の処方方法は医療スキルに依存します。 心臓の旅をチェック 1.秘密兵器を展開する前は、内部ネットワークと外部ネットワークで使用できますが、展開後は外部ネットワークでのみ使用できます。この症状を見ると、ネットワークファイアウォールの問題です。 1) iptables -F 2) 強制0を設定する 3) AWS 上で、このサーバーのセキュリティグループを inbound 0.0.0.0 に設定します (これは純粋にテスト用なので、正式な環境では行わないでください~~~) 2. SSH が失敗する原因は SSH 設定ファイルが変更されたことにありますか? ポートが変更されたため、SSH 設定ファイルに内部および外部ネットワークがログインできるかどうかを制御する設定がありますか?だから〜〜〜 vim /etc/ssh/sshd_config を実行して、いくつかランダムな変更を加えます (これは、私が ssh について十分に理解しておらず、設定ファイルに精通していないことを示しています。そのため、学習する必要があります) 3. これは一体何なのでしょう。ネットワークは正常で、セキュリティグループも問題ありません。なぜか、ルーティングについて考えました。route -n を使って調べてみました。すごい、こんなに多くのルートがあります。これらのルートを見ると、そのうちの 1 つは 172.29.0.0 でした (ジャンプ サーバーのネットワーク セグメントはこれによく似ています)。漠然と、ここに問題があると感じました (女性の直感は、彼氏が外で犬を飼っているかどうかだけでなく、彼氏が自分を愛しているかどうかも判断します。彼女の直感はここでもかなり正確です、笑)。それで~~~ ルート -n ルート del -net 172.22.32.0 ネットマスク 255.255.255.0 ルート del -net 172.23.32.0 ネットマスク 255.255.255.0 ...... コンテナに関連するすべてのルートを強制終了し、ジャンプサーバーからイントラネットに ssh で接続すると、わお~~~わお~~~動作する、とても興奮する~~~~ 4.そのルートの問題であることが確認されました。このコンテナが割り当てたネットワークセグメントがジャンプサーバーのネットワークセグメントと競合していたため、~~~~ ルートを追加 -net 172.22.32.0 ネットマスク 255.255.255.0 ...... 競合するルートを除いて、削除したすべてのルートを追加します。これで、この問題を解決できます。 当時の解決策 考えてみると、競合があるので、このコンテナのネットワーク セグメントを変更する必要があります。どのように変更するのでしょうか? 私は非常に愚かな方法を使用しました。このコンテナを停止して削除し、docker-compose で再起動しました。新しいネットワーク セグメントが再割り当てされ、競合は発生しませんでした。 根本的な解決策 コンテナを起動する前に、Docker ネットワーク全体を、独自のネットワーク セグメントと競合しないものに変更します。これにより、Docker は常に、設定したネットワーク セグメントのみを割り当てるようになります。 操作手順: docker.json を変更して、docker 全体のネットワーク セグメントを変更します。元のネットワーク セグメントは 172 でしたが、これを 192 に変更します。 1) vim /etc/docker/daemon.json (このファイルが存在しない場合は自分で作成してください) { "bip":"192.168.0.1/24" } 2) Dockerを再起動する systemctl dockerを再起動します 3) ネットワークセグメントを再確認する 注: Docker コンテナの使用を最初に計画するときには、この点を考慮して、使用するネットワーク セグメントを計画する必要があります。上記の方法では、Docker とコンテナを再起動する必要があります。 疑い コンテナを停止または削除せずにネットワーク セグメントを変更するより良い方法はありますか? (調査が終わったらさらに追加します) 要約する 1: ssh 設定ファイルについてよく知らない (いつか体系的に調べる必要がある) 2: ネットワーク、特にルーティングに精通していること。正直に言うと、ルーティングの具体的な役割はまだ説明できません。直感的にしか理解できません。ルーティングなしではやっていけないとわかっているだけです (この期間中に PMP 試験を終えたら、シスコに関する本を読み始めます。認定については話しませんが、まずはネットワークを強化するために、それらの本を注意深く読みます) 3: Docker ネットワーク モードに慣れていない (今後は Docker ネットワークの公式ドキュメントを注意深く読んでください) さて、今回の記事は以上です。この記事の内容が皆さんの勉強や仕事に少しでも参考になれば幸いです。123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: mysql5.7.19 zip 詳細なインストールプロセスと構成
この記事では、jsで簡単な計算機を作成する具体的なコードを参考までに共有します。具体的な内容は次のと...
目次ハッシュと履歴の違いハッシュ履歴getCurrentLocation の実装setupListe...
目次序文ブラウザコンパイル版ローカルプリコンパイルバージョン要約する参照する序文vue3サンドボック...
私が最も頻繁に使用するコマンドは次の通りです:選択肢CDギットls ssh須藤数週間前、私はこの R...
序文Golang は、SQL データベースにアクセスするための database/sql パッケージ...
前回の記事では、nginx がリクエスト ラインのデータを読み取って、リクエスト ラインを解析する方...
Docker実行コマンドの使用docker run -d -p 9200:9200 -p 9300:...
エラー発生: MySQL 5.7 から SQL にデータベースをエクスポートし、それを MySQL ...
HTML には、幅の異なる 5 つのスペース エンティティが用意されています。非改行スペース ( )...
この記事の例では、参考のために簡単なリスト機能を実装するアプレットの具体的なコードを共有しています。...
そこで、この問題を解決するために埋め込みフレームワークを導入します。具体的な原則は、フォームがデータ...
運用保守エンジニアは、初期段階では非常に大変な仕事です。この期間中、コンピューターの修理、ネットワー...
まず、 esp8266 は mqtt を通じてメッセージを公開し、WeChat アプレットは mqt...
目次背景問題の場所さらなる分析要約する背景私のコース「Vue 3 エンタープライズレベルの音楽アプリ...
まずはコードを見てみましょう: ALTER TABLE reportblockdetail ADD ...