背景 同僚がセキュリティ プロジェクトに取り組んでおり、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 詳細なインストールプロセスと構成
フローティング広告は、ウェブサイト上で非常に一般的な広告形式です。フローティング広告は、ユーザーの閲...
目次1. テーブルを作成する1.1 テストテーブルt_userを作成する1.2 一時テーブルの作成2...
目次Linux 環境変数とプロセスアドレス空間コードを通じて環境変数を取得するプロセスアドレス空間な...
スロークエリログ関連のパラメータMySQL スロー クエリ関連のパラメータの説明: slow_que...
CSS デフォルトスタイルをクリア通常の明確なデフォルト スタイル: *{ マージン:0; パディン...
目次序文yumソース、epelソースを設定するCephソースの設定Cephとそのコンポーネントをイン...
3つの機能: 1. コンテンツの垂直方向の自動中央揃え2. デフォルトのプロンプトテキストは灰色で表...
3 つのテーブルが接続されています。テーブル A のフィールド a はテーブル B のフィールド b...
目次クラスコンポーネント機能コンポーネントプロパティは読み取り専用ですコンポーネント間通信前回は状態...
この記事では、MySQL の自動作成時刻と変更時刻を設定する方法について説明します。ご参考までに、詳...
1. MySQLをダウンロードする1.1 ダウンロードアドレスhttps://downloads.m...
1. マスター'x@xxxx:x'への接続エラー- 再試行時間: 60 再試行回数:...
3 ノード MGR 内の 1 つのノードに異常があり、MGR クラスターに再度追加する必要があるとし...
開発プロセス中によく発生する問題は、div のサイズ変更をどのように監視するかということです。たとえ...
序文最近、面接中に、MySQL の InnoDB エンジンがどのようにトランザクションを実装している...