Vyatta 5400 マイグレーションに関する一般的な問題
以下のセクションでは、Vyatta 5400 デバイスから IBM Cloud® Virtual Router Appliance にマイグレーションした後に発生する可能性のある、一般的な問題または動作変更を説明しています。 問題に対処する回避策を含む場合もあります。
ステートフル・ファイアウォールのインターフェース・ベースのグローバル・ステート・ポリシー
問題
リリース 5.1 から、ステートフル・ファイアウォールの「ステートポリシーの状態」を設定する際の動作が変更されました。 リリース 5.1 より前のバージョンでは、ステートフル・ファイアウォールの state -global -state -policy
を設定すると、vRouter は、セッションの戻り通信の暗黙的なAllow
ルールを自動的に追加していました。
リリース 5.1 以降では、IBM Cloud® Virtual Router Appliance にAllow
ルール設定を追加する必要があります。 ステートフル設定は Vyatta 5400 デバイスのインターフェースのために機能し、VRA デバイスのプロトコルのために機能します。
回避策
firewall-in
ルールが ingress/内部インターフェースに適用された場合は、Firewall-out
ルールを egress/外部インターフェースに適用する必要があります。 その他の場合、リターン・トラフィックは出口/外部インターフェースでドロップされます。
ファイアウォール・ルールにおける State-enable
状態有効化の問題
global-state-policy
が構成されていない場合、この動作変更は影響を受けません。 また、state enable
ではなく、各ルールで global-state-policy
オプションを使用している場合、動作変更は影響を受けません。
ゾーンベースのポリシー: ローカルゾーン処理
ローカル・ゾーン処理の問題
zone-policy に割り当てる「ローカルゾーンの」pseudo-interface はありません。
ローカル・ゾーン処理の回避策
この動作は、ゾーンベースのファイアウォールを物理インターフェースに適用し、interface-firewall をループバック・インターフェースに適用することでシミュレートできます。 ループバック・インターフェースのファイアウォールは、ルーターから入出力されるすべてのものをフィルターに掛けます。
以下に例を示します。
set security zone-policy zone internal default-action 'drop'
set security zone-policy zone internal description 'Private zone'
set security zone-policy zone internal interface 'dp0bond0'
set security zone-policy zone internal to external firewall 'internal-2-external'
set security zone-policy zone internal to ovpn firewall 'internal-2-ovpn'
set security zone-policy zone ovpn default-action 'drop'
set security zone-policy zone ovpn description 'OpenVPN'
set security zone-policy zone ovpn interface 'vtun0'
set security zone-policy zone ovpn to external firewall 'ovpn-2-external'
set security zone-policy zone ovpn to internal firewall 'ovpn-2-internal'
set interfaces loopback lo firewall local 'Local'
set security firewall name ovpn-2-external default-action accept
set security firewall name ovpn-2-internal default-action accept
set security firewall name external-2-ovpn default-action accept
set security firewall name external-2-internal default-action accept
set security firewall name internal-2-external default-action accept
set security firewall name internal-2-ovpn default-action accept
set security firewall name Local default-action 'drop'
set security firewall name Local 'default-log'
set security firewall name Local rule 10 action 'accept'
set security firewall name Local rule 10 description 'RIP' ("/opt/vyatta/etc/cpp.conf" )
ファイアウォール、NAT、ルーティング、DNS の操作順序
操作の順序の問題
Masquerade Source NAT が IBM Cloud® Virtual Router Appliance にデプロイされるシナリオでは、ファイアウォールを使用してホストのインターネットへのアクセスを決定できません。 これは、ポスト NAT アドレスが同じになるからです。
Vyatta 5400 デバイスでは、ファイアウォールが NAT より手前で行われ、ホストのインターネットへのアクセス制限が許可されるため、この操作は可能でした。
操作の順序の回避策
VRA には新しいルーティング・スキームが必要です。

ポリシー・ベース・ルーティングの「Table」
ポリシー・ベース・ルーティングの「Table」の問題
構成内の用語「Table」は、v5400 ポリシー・ベース・ルーティングではオプションです。 ただし、VRA では、アクションが accept
の場合は、**「Table」**フィールドは必須です。 VRA 構成でアクションが drop
の場合は、「Table」フィールドはオプションです。
ポリシー・ベース・ルーティングの「Table」の回避策
「Table Main」は Vyatta 5400 ポリシー・ベース・ルーティングでは使用可能なオプションです。 VRA でこれに相当するものは「routing-instance default」です。
トンネル・インターフェースでのポリシー・ベース・ルーティング
トンネル・インターフェースでのポリシー・ベース・ルーティングの問題
IBM Cloud® Virtual Router Appliance の PBR (ポリシー・ベース・ルーティング) ポリシーは、インバウンド・トラフィックについてデータ・プレーン・インターフェースに適用することができますが、ループバック、トンネル、ブリッジ、OpenVPN、VTI、IP アンナンバード・インターフェースには適用できません。
トンネル・インターフェースでのポリシー・ベース・ルーティングの回避策
現在この問題に対する回避策はありません。
OpenVPN
OpenVPN の問題
OpenVPN が IBM Cloud® Virtual Router Appliance で push-route
パラメーターの使用時に動作を開始しません。
OpenVPN の回避策
openvpn-option
の代わりに push-route
パラメーターを使用してください。
GRE/VTI over IPSEC + OSPF
IPSEC + OSPF 経由の GRE/VTI の問題
- VIF に複数のサブネットが構成されている場合、トラフィックは VRA のそれらのサブネットを超えて移動できません。
- InterVlan ルーティングが VRA で動作していません。
IPSEC + OSPF 経由の GRE/VTI の回避策
VIF インターフェース間のトラフィックを受け入れる、暗黙の許可ルールを使用します。
IPsec
IPsec の問題
IPsec (プレフィックスベース) が IN フィルターで動作しません。
IPsec の回避策
IPsec (VTI BASED) を使用します。
IPSEC "match-none"
IPSEC の「一致なし」の問題
Vyatta 5400 デバイスで、以下のファイアウォール・ルールが許可されています。
set firewall name allow rule 10 ipsec
しかし、IBM Cloud® Virtual Router Appliance では IPsec がありません。
IPSEC の「一致なし」の回避策
以下に VRA デバイスで使用可能な代替ルールを示します。
match-ipsec Inbound IPsec packets
match-none Inbound non-IPsec packets
IPSEC 'match-ipsec"
IPSEC の「IPsec 一致」の問題
Vyatta 5400 デバイスで、以下のファイアウォール・ルールが許可されています。
set firewall name OUTSIDE_LOCAL rule 50 action 'accept'
set firewall name OUTSIDE_LOCAL rule 50 ipsec 'match-ipsec'
しかし、IBM Cloud® Virtual Router Appliance では IPsec がありません。
IPSEC の「IPsec 一致」の回避策
プロトコル ESP
と AH
(それぞれ IP プロトコル 50 と 51) を追加します。
action
ルールは、以下の例に示すようにaccept
またはdrop
のいずれかになります。
set security firewall name <name> rule <rule-no> action accept
set security firewall name <name> rule <rule-no> destination port 500
set security firewall name <name> rule <rule-no> protocol udp
set security firewall name <name> rule <rule-no> action accept
set security firewall name <name> rule <rule-no> destination port 4500
set security firewall name <name> rule <rule-no> protocol udp
set security firewall name <name> rule <rule-no> action accept
set security firewall name <name> rule <rule-no> protocol ah
set security firewall name <name> rule <rule-no> action accept
set security firewall name <name> rule <rule-no> protocol esp
DNAT を指定したサイト間 IPsec
使用するサイト間 IPsec (DNAT あり) の問題
IPsec (プレフィックスベース) が DNAT で動作しません。
server (10.71.68.245) -- vyatta 1 (11.0.0.1)
===S-S-IPsec=== (12.0.0.1)
vyatta 2 -- client (10.103.0.1)
Tun50 172.16.1.245
上のコード・スニペットは、IPsec パケットが Vyatta 5400 で復号された後の DNAT トランスレーションの小さなセットアップ例です。 この例では、2 つの Vyattas があります (vyatta1 (11.0.0.1)
と vyatta2 (12.0.0.1)
)。 IPsec ピアリングは 11.0.0.1
と 12.0.0.1
の間に確立されます。
この場合、クライアントは 172.16.1.245
エンドツーエンドから送信される 10.103.0.1
をターゲットとしています。このシナリオの予期される動作は、パケットのヘッダーで宛先アドレス 172.16.1.245
が 10.71.68.245
に変換されることです。
初めに Vyatta 5400 デバイスがインバウンド IPsec で DNAT を実行中で、接続トラッキング・テーブルを使用してインターフェースを終了しトラフィックを正常に IPsec トンネルに返しました。
IBM Cloud® Virtual Router Appliance では、この構成は同じように機能しません。 セッションは作成されますが、リターン・トラフィックは conntrack テーブルが DNAT の変更を元に戻した後に IPsec トンネルをバイパスします。VRA は次に、IPsec を暗号化せずにワイヤー上のパケットを送信します。上流のデバイスはこのトラフィックを想定していないため、ドロップする可能性が高くなります。エンドツーエンドの接続は失敗しますが、これは意図された動作です。
サイト間 IPsec (DNAT あり) の回避策
このネットワーキング・シナリオに対応するため、IBM は RFE を作成しました。
RFE は現在査定中ですが、以下の回避策が推奨されています。
インターフェース構成コマンド
set interfaces dataplane dp0p192p1 address '11.0.0.1/30'
set interfaces dataplane dp0p224p1 address '10.0.0.2/30'
set interfaces dataplane dp0p224p1 policy route pbr 'Backwards-DNAT'
set interfaces loopback lo address '169.254.1.1/24'
set interfaces tunnel tun50 address '169.254.240.1/32'
set interfaces tunnel tun50 encapsulation 'gre'
set interfaces tunnel tun50 local-ip '169.254.1.1'
set interfaces tunnel tun50 remote-ip '169.254.1.1'
VPN 構成コマンド
set security vpn ipsec esp-group ESP lifetime '30000'
set security vpn ipsec esp-group ESP proposal 1 encryption 'aes128'
set security vpn ipsec esp-group ESP proposal 1 hash 'sha1'
set security vpn ipsec ike-group IKE lifetime '60000'
set security vpn ipsec ike-group IKE proposal 1 encryption 'aes128'
set security vpn ipsec ike-group IKE proposal 1 hash 'sha1'
set security vpn ipsec site-to-site peer 12.0.0.1 authentication mode 'pre-shared-secret'
set security vpn ipsec site-to-site peer 12.0.0.1 authentication pre-shared-secret 'thekey'
set security vpn ipsec site-to-site peer 12.0.0.1 default-esp-group 'ESP'
set security vpn ipsec site-to-site peer 12.0.0.1 ike-group 'IKE'
set security vpn ipsec site-to-site peer 12.0.0.1 local-address '11.0.0.1'
set security vpn ipsec site-to-site peer 12.0.0.1 tunnel 1 local prefix '172.16.1.245/30'
set security vpn ipsec site-to-site peer 12.0.0.1 tunnel 1 remote prefix '10.103.0.0/24'
NAT 構成コマンド
set service nat destination rule 10 destination address '172.16.1.245'
set service nat destination rule 10 inbound-interface 'tun50'
set service nat destination rule 10 source address '10.103.0.1'
set service nat destination rule 10 translation address '10.71.68.245'
set service nat source rule 10 destination address '10.103.0.1'
set service nat source rule 10 'log'
set service nat source rule 10 outbound-interface 'tun50'
set service nat source rule 10 source address '10.71.68.245'
set service nat source rule 10 translation address '172.16.1.245'
プロトコル構成コマンド
set protocols static interface-route 172.16.1.245/32 next-hop-interface 'tun50'
set protocols static table 50 interface-route 0.0.0.0/0 next-hop-interface 'tun50'
PBR 構成コマンド
set policy route pbr Backwards-DNAT description 'Get return traffic back to tunnel for DNAT'
set policy route pbr Backwards-DNAT rule 10 action 'accept'
set policy route pbr Backwards-DNAT rule 10 address-family 'ipv4'
set policy route pbr Backwards-DNAT rule 10 destination address '10.103.0.0/24'
set policy route pbr Backwards-DNAT rule 10 source address '10.71.68.0/24'
set policy route pbr Backwards-DNAT rule 10 table '50'
PPTP
PPTP の問題
PPTP は IBM Cloud® Virtual Router Appliance でサポートされなくなりました。
PPTP iorKarounds
代わりに L2TP プロトコルを使用してください。
IPsec 再始動のスクリプト
IPsec 再始動の問題のスクリプト
VRRP 仮想アドレスが高可用性 VPN の IBM Cloud® Virtual Router Appliance に追加されるたびに、IPsec デーモンを再初期化する必要があります。 これは、IPsec サービスは、IKE サービス・デーモンの初期化時に VRA 上に存在したアドレスへの接続のみを listen するためです。
VRRP を使用した VRA のペアで、初期化時にデバイス上に存在する VRRP 仮想アドレスをマスター・ルーターが現在所持していない場合、スタンバイ・ルーターはそのアドレスを所持していない可能性があります。 そのため、VRRP 状態遷移が発生した場合に IPsec デーモンを再初期化するためには、マスター・ルーターとバックアップ・ルーターで以下のコマンドを実行します。
interfaces dataplane interface-name vrrp vrrp-group group-id notify
最近のカウントと最近の時刻
最近のカウントと最近の時間の問題
以下のルールは、アドレスを使用した SSH で SSH 接続を 30 秒ごとに 3 個に制限することを意図しています。
set firewall name localGateway rule 300 action 'drop'
set firewall name localGateway rule 300 description 'Deter SSH brute force'
set firewall name localGateway rule 300 destination port '22'
set firewall name localGateway rule 300 protocol 'tcp'
set firewall name localGateway rule 300 recent count '3'
set firewall name localGateway rule 300 recent time '30'
set firewall name localGateway rule 300 state new 'enable'
IBM Cloud® Virtual Router Appliance では、このルールに以下の問題があります。
- recent count (最近のカウント) オプションと recent time (最近の時刻) オプションは非推奨になりました。
- 前述の問題により、このルールは予期されるとおり機能することができず、適用されるインターフェースに対するすべての SSH 接続をブロックします。
最近の件数と最近の時間の回避策
代わりに CPP を使用してください。
set system conntrack の問題
Set system conntrack 問題の問題
set system conntrack expect-table-size '8192'
set system conntrack hash-size '375000'
set system conntrack modules ftp 'disable'
set system conntrack modules 'gre'
set system conntrack modules h323 'disable'
set system conntrack modules nfs 'disable'
set system conntrack modules pptp 'disable'
set system conntrack modules sip 'disable'
set system conntrack modules sqlnet 'disable'
set system conntrack modules tftp 'disable'
set system conntrack table-size '3000000'
set system conntrack のタイムアウト
Set system conntrack のタイムアウトの問題
set system conntrack timeout icmp '30'
set system conntrack timeout other '600'
set system conntrack timeout tcp close '10'
set system conntrack timeout tcp close-wait '60'
set system conntrack timeout tcp established '432000'
set system conntrack timeout tcp fin-wait '120'
set system conntrack timeout tcp last-ack '30'
set system conntrack timeout tcp syn-recv '60'
set system conntrack timeout tcp syn-sent '120'
set system conntrack timeout tcp time-wait '60'
時間ベースのファイアウォール
時間ベースのファイアウォールの問題
set firewall name PRIV_SERVICE_IN rule 58 action 'accept'
set firewall name PRIV_SERVICE_IN rule 58 description '586427 Acesso a base de dados ate 22-2-18'
set firewall name PRIV_SERVICE_IN rule 58 destination address '10.150.156.57'
set firewall name PRIV_SERVICE_IN rule 58 destination port '3306'
set firewall name PRIV_SERVICE_IN rule 58 protocol 'tcp'
set firewall name PRIV_SERVICE_IN rule 58 source address '10.150.156.104'
set firewall name PRIV_SERVICE_IN rule 58 time startdate '2017-08-22'
set firewall name PRIV_SERVICE_IN rule 58 time stopdate '2018-02-22'
TCP-MSS
TCP-MSS の問題
set interfaces tunnel tun3 address '172.17.175.45/30'
set interfaces tunnel tun3 encapsulation 'gre'
set interfaces tunnel tun3 local-ip '169.55.223.76'
set interfaces tunnel tun3 mtu '1476'
set interfaces tunnel tun3 multicast 'disable'
set interfaces tunnel tun3 policy route 'change-mss'(in 18.x unable to apply tcp-mss using PBR only option is to set on interface directly which i believe is not equivalent to pbr .
set interfaces tunnel tun3 remote-ip '104.129.200.34'
set policy route change-mss rule 1 protocol 'tcp'
set policy route change-mss rule 1 set tcp-mss '1436'
set policy route change-mss rule 1 tcp flags 'SYN
特定のアプリケーションまたはポートが S-S IPsec VPN で壊れている
S-S IPsec VPN の問題で特定のアプリケーションまたはポートが破損する
vyatta@v5600dallas09# set security vpn ipsec site-to-site peer 12.0.0.1 tunnel 1 remote
Possible Completions:
<Enter> Execute the current command
port Any TCP or UDP port
prefix Remote IPv4 or IPv6 prefix set security vpn ipsec esp-group ESP lifetime '30000'
set security vpn ipsec esp-group ESP proposal 1 encryption 'aes128'
set security vpn ipsec esp-group ESP proposal 1 hash 'sha1'
set security vpn ipsec ike-group IKE lifetime '60000'
set security vpn ipsec ike-group IKE proposal 1 encryption 'aes128'
set security vpn ipsec ike-group IKE proposal 1 hash 'sha1'
set security vpn ipsec site-to-site peer 12.0.0.1 authentication mode 'pre-shared-secret'
set security vpn ipsec site-to-site peer 12.0.0.1 authentication pre-shared-secret 'thekey'
set security vpn ipsec site-to-site peer 12.0.0.1 default-esp-group 'ESP'
set security vpn ipsec site-to-site peer 12.0.0.1 ike-group 'IKE'
set security vpn ipsec site-to-site peer 12.0.0.1 local-address '11.0.0.1'
set security vpn ipsec site-to-site peer 12.0.0.1 tunnel 1 local prefix '172.16.1.245/30'
set security vpn ipsec site-to-site peer 12.0.0.1 tunnel 1 remote prefix '10.103.0.0/24' set security vpn ipsec site-to-site peer 12.0.0.1 tunnel 1 remote port 21 (ftp)
ロギング動作での重大な変更点
ロギング動作の問題における大幅な変更
Vyatta 5400 デバイスと IBM Cloud® Virtual Router Appliance 間で、セッションごとのロギングからパケットごとのロギングまで、ロギング動作に大きな変更があります。
- セッション・ロギング: ステートフル・セッションの状態遷移を記録。
- パケット・ロギング: ルールに一致するすべてのパケットを記録。 パケット・ロギングは「パケット・ユニット」のログ・ファイルに記録されるため、スループットの著しい減少とディスク容量の圧迫があります。
- vRouter のロギング機能は、ファイアウォール・アクティビティーの取り込みに使用することができます。 あらゆるロギング機能と同様、特定の問題のトラブルシューティング実行時にのみこれを使用可能にし、できる限り早くこのロギングを使用不可にすべきです。
ファイアウォール / NAT セッションを管理するステートフル・ファイアウォールは、「セッション・ユニット」に書き込まれます。 セッション・ロギングの使用を推奨します。 各設定例を示します。
セッション / ロギング
security firewall session-log <protocol>
system syslog file <filename> facility <facility> level <level>
パケット・ロギング・ファイアウォール
security firewall name <name> default-log <action>
security firewall name <name> rule <rule-number> log
NAT
service nat destination rule <rule-number> log
service nat source rule <rule-number> log PBR
policy route pbr <name> rule <rule-number> log
QoS
policy qos name <policy-name> shaper class <class-id> match <rule-name>