CentOS 7にApacheをインストールする方法
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
VultrのBGP機能を使用すると、独自のIPスペースを取得して、当社のどの場所でも使用できます。
入門
BGPを使用するには、次のものが必要です。
IPv4プレフィックスをアドバタイズする場合、サーバーインスタンスには、Vultrから自動的に割り当てられるIPv4アドレスが必要です。IPv6プレフィックスをアドバタイズする場合、サーバーインスタンスには、Vultrによって自動的に割り当てられるIPv4アドレスとIPv6アドレスの両方が必要です。
開始するには、BGPセットアップフォームに入力してください。遅延を防ぐために、ASNとサブネットの所有権を確認してください。
これがアカウントで構成されたら、BGPの構成に進むことができます。
BGPセットアップ
注:BGPがアカウントにセットアップされる前にデプロイされたインスタンスを構成する場合は、コントロールパネルからインスタンスを再起動する必要があります。BGPは、再起動するまで既存のインスタンスでは機能しません(SSH経由の再起動では不十分です)。
BGPデーモンとしてBIRDを使用することをお勧めします(ただし、任意のBGPデーモンを使用できます)。ほとんどのオペレーティングシステムには、このためのパッケージが用意されています。
私たちの例では、次のことを前提としています。
接続を確認するために、IPを通知せずにBGPセッションをセットアップしましょう。/etc/bird.conf
次のテキストを含むファイルを作成します。Ubuntu 16.04などの一部のシステムでは、これはになることに注意してください/etc/bird/bird.conf
。
router id 203.0.113.123;
protocol bgp vultr
{
local as 64512;
source address 203.0.113.123;
import none;
export all;
graceful restart on;
multihop 2;
neighbor 169.254.169.254 as 64515;
password "hunter2";
}
birdを再起動し、セッションのステータスを確認します。
[root@vultr ~]# birdc show proto all vultr
BIRD 1.4.5 ready.
name proto table state since info
vultr BGP master up 14:11:36 Established
Preference: 100
Input filter: REJECT
Output filter: (unnamed)
Routes: 0 imported, 581634 filtered, 1 exported, 0 preferred
Route change stats: received rejected filtered ignored accepted
Import updates: 581674 0 581674 0 0
Import withdraws: 2 0 --- 581675 0
Export updates: 1 0 0 --- 1
Export withdraws: 0 --- --- --- 0
BGP state: Established
Neighbor address: 169.254.169.254
Neighbor AS: 64515
Neighbor ID: 169.254.169.254
Neighbor caps: refresh restart-able AS4
Session: external multihop AS4
Source address: 203.0.113.123
Hold timer: 208/240
Keepalive timer: 57/80
BGPの状態が「確立」の場合、すべてが正常に機能しています。Establishedの状態が表示されない場合は、次のことを試してください。
FreeBSDノート
デフォルトのFreeBSD設定はBGPでは機能しません。FreeBSDでBGPを実際に利用するには、いくつかのことを行う必要があります。
1)これらの追加オプションを有効にしてカーネルを再コンパイルします。
device crypto
options IPSEC
options TCP_SIGNATURE
2)静的IPを使用してネットワークアダプターを構成します。
3)ipsec.confをBGPパスワードで更新します。
add 203.0.113.123 169.254.169.254 tcp 0x1000 -A tcp-md5 "hunter2";
add 169.254.169.254 203.0.113.123 tcp 0x1000 -A tcp-md5 "hunter2";
ルートを発表
BGPセッションが機能するようになったら、次のステップはいくつかのルートのアナウンスを開始することです。あなたのアドレス空間がインターネット上で見えるようにするためには、少なくとも/ 24(またはIPv6の場合は/ 48)をアナウンスする必要があります。
開始する最も簡単な方法は、次のような静的ルートをBIRD構成に追加することです。
protocol static
{
route 198.51.100.0/24 via 203.0.113.123;
}
protocol device
{
scan time 5;
}
「プロトコルデバイス」ブロックにより、BIRDはインスタンスに接続されているネットワークアダプターに関する情報を収集できます。これがないと、静的ルートは表示されません。
BIRDをリロードして、ルートが正しく機能していることを確認します。
[root@vultr ~]# birdc show route
BIRD 1.4.5 ready.
198.51.100.0/24 via 203.0.113.123 on eth0 [static1 14:22:12] * (200)
この時点で、サブネットのトラフィックはインスタンスに向かって流れているはずです。オペレーティングシステム内で設定されるまで、IPにpingすることはできません。これを確認する1つの方法は、tcpdump、「tcpdump -i eth0 -n net 198.51.100.0/24」を使用することです。
IPの構成
よくある設定の1つは、異なるインスタンスで個別のIPアドレスを使用することです。これは可能ですが、各インスタンスは独自のBGPサーバーを実行する必要があります。
これを行うには、カバーする/ 24に加えて、個々のインスタンスからの/ 32ルートをアナウンスします。これはスタティックルートで実行できますが、代わりにダミーインターフェイスを使用することをお勧めします。ルーティングするIPとして198.51.100.100を使用します。
これをインターフェイスで設定します。
# ip link add dev dummy1 type dummy
# ip link set dummy1 up
# ip addr add dev dummy1 198.51.100.100/32
これが正しく構成されていることを確認します。
# ip addr show dev dummy1
5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether ba:23:57:2c:ad:bc brd ff:ff:ff:ff:ff:ff
inet 198.51.100.100/32 scope global dummy1
注:起動時にこのインターフェースを構成する方法を決定するには、オペレーティングシステムのドキュメントを参照してください。
次に、ダミーインターフェースをスキャンして、見つかったIPを通知するようにBIRDを構成します。以下をBIRD構成に追加し、BIRDをリロードします。
protocol direct
{
interface "dummy*";
import all;
}
BIRDがルートをアナウンスしていることを確認します。
[root@vultr ~]# birdc show route
BIRD 1.4.5 ready.
198.51.100.0/24 via 203.0.113.123 on eth0 [static1 14:22:12] * (200)
198.51.100.100/32 dev dummy1 [direct1 14:36:56] * (240)
他のIPを持つ他のインスタンスでこのプロセスを繰り返すことができます。何が起こるかというと、私たちのルーターは、特定のIPアドレスに対して最も具体的なルートを使用します。/ 24と/ 32がある場合、/ 32が最も具体的なルートであるため、そのIPのトラフィックはすべてそのルートに従います。
同じ/ 32をアナウンスする複数のインスタンスを持つことができます。これにより、高可用性が実現します(インスタンスに障害が発生した場合、そのルートは消え、トラフィックは他のインスタンスにフェイルオーバーします)。
私たちの場所はリンクされていないため、IPを使用する各場所から/ 24(またはIPv6 / 48)を確実に通知する必要があります。エニーキャストネットワークをセットアップする場合を除き、1つの/ 24を使用して複数の場所にIPを割り当てることはできません。
一部の場所はECMPをサポートしています。その場合、トラフィックは、同じIPをアナウンスする最大8つのインスタンス間でランダムに分散されます。現在ECMPをサポートしている場所は次のとおりです。
関連資料
ノート
BIRD 1.5以降では、route
行の構文を次のように変更する必要がある場合があります。
route 198.51.100.0/24 via 203.0.113.123;
に:
route 198.51.100.0/24 via "203.0.113.123";
** トラブルシューティング **
私たちのシステムは、接続を確立するためにTCP MD5認証を必要とします。つまり、Telnetなどを使用して接続をテストすることはできません。接続の問題をトラブルシューティングするために、通常はtcpdumpでトラフィックを監視することをお勧めします。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。
FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。