BLOGTIMES
2014/12/29

firewalld で IPSec/L2TP の通信を許可する

  Tips centos7  softether  networking  firewalld 
このエントリーをはてなブックマークに追加

先日もちょっと苦戦してしまった firewalld ですが、今日は IPSec/L2TP (含NAT-T)が通るようにしてみます。
今回の IPSec/L2TP サーバは先日セットアップした SoftEther ですが、firewalld の設定は他のサーバを使っても共通なはずです。

結論から述べると以下のコマンドで IPSec/L2TP の許可設定ができます。

firewall-cmd --permanent --zone=public --add-service=ipsec firewall-cmd --permanent --zone=public --add-port=1701/udp firewall-cmd --permanent --zone=public --add-port=4500/udp firewall-cmd --reload

list-all で見てみるとこんな感じで確認できます。

# firewall-cmd --list-all public (default, active) interfaces: eth0 sources: services: dhcpv6-client https ipsec ssh ports: 1701/udp 500/udp 4500/udp masquerade: no forward-ports: icmp-blocks: rich rules:

以下、設定メモ。

firewalld のサービス定義はどこに

firewalld ではこんな感じでサービス単位のルールが追加できるようになっていますが、このサービスに何が指定できるかについてはよく分かっていませんでした。どうやらこのサービスは /usr/lib/firewalld/services 以下にある .xml ファイルの名前が指定できるようです。

firewall-cmd --add-service=http --permanent --zone=public

例えば ipsec.xml の中身を見てみるとちゃんと esp や udp/500 を許可するルールが書かれているのが確認できます。

cat ipsec.xml

<?xml version="1.0" encoding="utf-8"?> <service> <short>IPsec</short> <description>Internet Protocol Security (IPsec) incorporates security for network transmissions directly into the Internet Protocol (IP). IPsec provides methods for both encrypting data and authentication for the host or network it sends to. If you plan to use a vpnc server or FreeS/WAN, do not disable this option.</description> <port protocol="ah" port=""/> <port protocol="esp" port=""/> <port protocol="udp" port="500"/> </service>

NAT-T の定義は個別に

これだけだと、udp/4500 と udp/1701 の許可定義がないのでNAT-T に対応できません*1。これは xml ファイルを書き換えて対応するという方法もありますが、おそらく忘れてしまって後でえらい目に遭うことはわかりきっているので、個別のルールとして設定することにしました。


トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/7295
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン