- ベストアンサー
L2TP/IPSecのルータのポート開放
L2TP/IPSecのルータのポート開放なんですが ルータのポートフォワーディングで 1701 (udp) ・・・・l2tp 4500 (udp)・・・・ipsec-nat-t 500 (udp)・・・isakmp の3つを宅内サーバに向けて開放していますが、つながりません。 ポート開放の番号や数が違うんでしょうか? 同じようにサーバ側のパケットフィルタリングでも上記3つを開放しています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
お尋ねの件ですが、1701ポートNoをトンネルトランスポートされるようにしていますか? 4500番はNATトラバーサル用ポート番号、500番はIPSEC認証キー用番号ですが、ポート開放以外にルーターのIPフィルタのパス登録コマンド、out登録コマンドにて通信透過されるようにしていますか? 上記のチェックでも駄目な場合、DMZホスト設定でルーターの着信データを全てサーバへ向けてみては如何でしょうか? DMZの場合、全てのデータ着信はサーバへ向きますので、セキュリティ設定はサーバ側にて破棄登録等実施された方が良いかもしれません。
その他の回答 (3)
- nnori7142
- ベストアンサー率60% (755/1249)
追加補足確認しました。そうすると、外部PCのルータの動的フィルター及びダイナミックルーティングにて、LAN内端末からTCP80番のルーティング許可を設定してあげる必要があるかと存じます。 Yamahaのルーター設定の例として、「ip filter dynamic 1001 * * www」といったコマンドを、「ip lan3 secure filter out 2000 2001 2002 dynamic 1001」といったIPフィルタのoutコマンドにdynamicルーティングコマンドにて、許可でしょうか。 サーバ側にてフィルタ解除で接続可能と言う事は、フィルターのoutコマンドルールで、TCP80のルーティングはサーバ側ではなく、外部PCのルーターからルーティングさせる設定かと存じます。
補足
サーバのローカルインタフェース(eth0)の転送設定を見てみたら Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited とデフォルトでなっていて何も許可されていませんでした。これが原因だと思います。 異なるインタフェース間の転送(L2TP(仮想eth0)→物理インターフェース(eth0)の転送 (IP Fowarding)を有効にする設定として *** /etc/sysctl.conf *** net.ipv4.ip_foward=1 ※0から1に変更。 これで転送されるとばかり思っていて、勘違いしていました。 これは異なるインターフェース間の転送設定ですね。。。 仮想eth1から転送されてローカルインタフェースeth0に入ってきたものを さらに、パケットフィルタリングのローカル転送Chain FORWARDで転送させるのを忘れていました。 よって、 Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited これで無事転送され、ネットに繋がりました。勉強不足ですいません。
- pakuti
- ベストアンサー率50% (317/631)
ipsecを利用する場合、認証方法によって以下を許可する必要があります。 ESP TCP/50 AH TCP/51 L2TPはそのままで通ると思いますが、ダメですか?
お礼
17001updは1701の間違いです。
補足
1.ルータのポートフォワーディング 4500udp 500udp ※ルータは1701udpを開放しなくても大丈夫だった。 2.サーバのパケットフィルタリング 4500udp 500udp 1701udp ※この3つのどれか1つを外しても繋がりませんでしたので3つ開放しています。 とすることで外部からVPNサーバに接続でき認証まで通りました。 しかしこの状態で外部のクライアントからネットをするとネットにはつながりませんでした。 そこでサーバ側のパケットフィルタリングを無効(ファイアフォール無効)にすると ネットに繋がるようになりました。 ということはサーバ側で4500udp/500udp/1701upd以外に開放しないといけないこととして プロトコル番号50(esp)と書かれてあったのでそれも開放しましたが、VPN認証まではできていてもネットには繋がりませんでした。 そこでさらにルータ側もプロトコル50(esp)をサーバに向けて開放しましたが それでもだめでした。 ルータ側は50(esp)を開放しなくてもサーバ側でパケットフィルタリングを無効にすればネットに繋がったのでルータの50(esp)開放は関係なく、サーバ側のパケットフィルタリングに問題があるのかと思います。 ということであとはサーバ側のパケットフィルタリングで何がひっかかっているのかが 分からない状況です。 サーバ側開放(まとめ) 4500upd 500udp 17001upd ←ここまででVPN認証通過。(しかしネットには繋がらず) プロトコル番号50(esp)←これも追加しましたがネットには繋がらずです・・・ ※パケットフィルタリング無効(ファイアフォール無効)にすればネットに繋がります。
- Donotrely
- ベストアンサー率41% (537/1280)
探してみたらこんな情報がありましたが。 http://network.station.ez-net.jp/server/remote/Linux/l2tp-fw.asp この人はできたと言っています。 50番ポートも処置が必要で、クライアント側がルータを使う場合はそちらも処置が必要だと報告していますねえ。
補足
ありがとうございます。 実は、そちらで紹介があがっているサイトを参考にしなががら設定をやったんですよ。 プロトコル番号50(esp)もサーバ側もルータ側も開放しましたが駄目でした。
お礼
ありがとうございます。 具体的なポート開放状況は#2さんへの返信で書かせてもらいました。 >DMZホスト設定でルーターの着信データを全てサーバへ向けて DMZに置おいてサーバ側で制御するか、DMZに置かずルータで制御してサーバ側でファイアフォールなしにするかが一番簡単ですが 現在は、DMZには置かず、ルータで指定したもののパケットを許可しつつ、 サーバ側のパケットフィルタリングでもそれを許可するような2重設定にしています。
補足
テーブル: filter Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 2 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:500 4 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:1701 5 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:4500 VPN認証は通過していますが、上記許可ではクライアントがネットには繋がりませんでした。(espを追加許可しました) サーバ側のファイアフォールを無効にすればネットに繋がるのですが。。 サーバ側のどのパケットでひっかかっているのやらです。。