会社のサーバーの一部をAmazonに展開するのは悪い考えだと誰が考えたでしょう。
その結果、タスクはAmazonとロシア連邦のインフラストラクチャの間に追加のVPNトンネルを作成することでした。
簡単なハウツーに加えて、発生する可能性のある構成のいくつかの機能について説明します。
ファイアウォールとルーティング設定
1か月あたり10,000モンゴルのtugriksに相当する量でまだブロックされていないVPSホスティング業者から購入し、CentOS 7を入れて、パケット転送を有効にします
echo net.ipv4.ip_forward=1 >>/etc/sysctl.d/ipv4.forward.enable.conf sysctl -a
ファイアウォールでIPsecパケットを受信するためのルールを追加する
firewall-cmd --zone=dmz --permanent --add-rich-rule='rule protocol value="esp" accept' firewall-cmd --zone=dmz --permanent --add-port=500/udp firewall-cmd --zone=dmz --permanent --add-port=4500/udp firewall-cmd --permanent --add-service="ipsec" firewall-cmd --reload firewall-cmd --list-all
StrongSwanのセットアップ
IPsec StrongSwanデーモンをインストールします。
yum install -y epel-release yum install -y strongswan
/etc/strongswan.d/charon.confにプリセットを作成します 。
charon {
Strongswanは2つの方法で構成できます。
サービスを有効にする
sudo systemctl enable strongswan-swanctl sudo systemctl start strongswan-swanctl
Ciscoルーターでトンネルを上げる
CentOSでGREトンネルを構成する
/etc/sysconfig/network-scripts/ifcfg-Tunnel13
作成します
NAME=Tunnel13 DEVICE=Tunnel13 ONBOOT=yes STARTMODE=onboot BOOTPROTO=none TYPE=GRE PEER_OUTER_IPADDR=1.1.1.1 PEER_INNER_IPADDR=172.16.130.2/30 MY_INNER_IPADDR=172.16.130.1/30 MY_OUTER_IPADDR=10.3.3.1 ZONE=trusted TTL=30 MTU=1400
/etc/sysconfig/network-scripts/ifcfg-Tunnel23
作成します
NAME=Tunnel23 DEVICE=Tunnel23 ONBOOT=yes STARTMODE=onboot BOOTPROTO=none TYPE=GRE PEER_OUTER_IPADDR=2.2.2.2 PEER_INNER_IPADDR=172.16.230.2/30 MY_INNER_IPADDR=172.16.230.1/30 MY_OUTER_IPADDR=10.3.3.1 ZONE=trusted TTL=30 MTU=1400
GREインターフェイスのセットアップには、いくつかの機能があります。
1つ目は、パケットの正しい通過のためにMTUを減らすことです。
2番目はTTLを指定することです。これは、将来OSPFを構成するときに必要になります。 これが行われない場合、OSPFパケットは、TTLが1(GRE over IPsecによる)でリモートホストに到着し、未応答のままになります。 したがって、デバイスはINIT / DROTHER状態でハングし、接続を待機しません。 ただし、正しいICMP応答は混乱を招く可能性があります。
インターフェイスを上げる
ifup Tunnel13 ifup Tunnel23
Cisco 2951にトンネルを作成します
crypto keyring StrongSwanKeyring pre-shared-key address 3.3.3.1 key etokto2ttakoimohnatenkyi crypto isakmp policy 60 encr aes 256 authentication pre-share group 5 crypto isakmp identity address crypto isakmp profile StrongSwanIsakmpProfile keyring StrongSwanKeyring match identity address 3.3.3.1 crypto ipsec transform-set StrongSwanTransformSet esp-aes esp-sha-hmac mode transport crypto ipsec profile StrongSwanIpsecProfile set transform-set StrongSwanTransformSet set pfs group5 set isakmp-profile StrongSwanIsakmpProfile interface Tunnel13 ip address 172.16.130.2 255.255.255.252 tunnel source GigabitEthernet2 tunnel destination 3.3.3.1 tunnel protection ipsec profile StrongSwanIpsecProfile
Cisco CSR1000Vにトンネルを作成します
crypto keyring StrongSwanKeyring pre-shared-key address 3.3.3.1 key etokto2ttakoimohnatenkyi crypto isakmp policy 60 encr aes 256 authentication pre-share group 5 crypto isakmp identity address crypto isakmp profile StrongSwanIsakmpProfile keyring StrongSwanKeyring match identity address 3.3.3.1 crypto ipsec transform-set StrongSwanTransformSet esp-aes esp-sha-hmac mode transport crypto ipsec profile StrongSwanIpsecProfile set transform-set StrongSwanTransformSet set pfs group5 set isakmp-profile StrongSwanIsakmpProfile interface Tunnel23 ip address 172.16.230.2 255.255.255.252 tunnel source GigabitEthernet2 tunnel destination 3.3.3.1 tunnel protection ipsec profile StrongSwanIpsecProfile
トンネルが起動し、暗号化が機能していることを確認してください。
CentOSで
strongswan statusall
Ciscoで
show crypto session detail
Quaggaで動的ルーティングを構成する
OSPFベースの動的ルーティングを使用する場合、次のステップは、CentOSでOSPFデーモンを起動し、新しいトンネルをフォールバックルートとして設定する論理的なものになります。
CentOSでのOSPFの構成
Quaggaをデーモンとしてインストールします。
yum install -y quagga
デーモン構成ファイル/etc/quagga/zebra.conf
作成します
hostname StrongSwanServer log file /var/log/quagga/quagga.log ! interface Tunnel13 ip address 172.16.130.1/30 ! interface Tunnel23 ip address 172.16.230.1/30 !
パスの重みは、コストまたは帯域幅のパラメータを使用して調整し、目的のインターフェイスに設定できます。
権限を設定し、サービスを有効にします
chown quagga:quaggavt /etc/quagga/zebra.conf systemctl enable zebra.service systemctl start zebra.service
/etc/quagga/ospfd.conf
デーモンの構成ファイルを作成します
log file /var/log/quagga/ospfd.log ! router ospf ospf router-id 10.3.3.1 passive-interface default no passive-interface Tunnel13 no passive-interface Tunnel23 network 172.16.130.0/30 area 0.0.0.0 network 172.16.230.0/30 area 0.0.0.0
権限を設定し、サービスを有効にします
chown quagga:quaggavt /etc/quagga/ospfd.conf systemctl enable ospfd.service systemctl start ospfd.service
次に、vtyshターミナルを起動し、cisのようなインターフェイスでQuaggaを操作できます。次に例を示します。
vtysh show running-config
Cisco 2951でのOSPFの構成
router ospf 1 passive-interface default no passive-interface Tunnel12 no passive-interface Tunnel13 no passive-interface GigabitEthernet1 network 192.168.1.0 0.0.0.255 area 0 network 172.16.120.0 0.0.0.3 area 0 network 172.16.130.0 0.0.0.3 area 0
Cisco CSR1000VでのOSPFの構成
router ospf 1 passive-interface default no passive-interface Tunnel12 no passive-interface Tunnel23 no passive-interface GigabitEthernet1 network 192.168.2.0 0.0.0.255 area 0 network 172.16.120.0 0.0.0.3 area 0 network 172.16.230.0 0.0.0.3 area 0
CentOSに到着したネイバーとルートの可視性を確認します。
vtysh show ospf neighbor show ip ospf route
シスコでは:
show ospf neighbor show ip ospf route
検討されていないもの
最も簡単なオプションについて説明しました。 もちろん、 IKE v2、証明書認証を使用してキー交換を設定し、ファイアウォールに追加のアドレスフィルタリングを追加し、認証で OSPFを実行し、多数のルーターをエリアで分割して、hello-intervalとdead-intervalの値をインターフェース。
コメントでのアドバイスと、タイプミスに関する情報をPMに喜んでお送りします。 ご清聴ありがとうございました。