質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
OpenVPN

OpenVPNは、暗号化してサーバ間を繋ぐVPNソフトウェア。OSSで開発されており、負荷分散やフェイルオーバー、もしくは細かなアクセス権設定の実装もできます。様々なOSに移植され、各OS上での利用が可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

1回答

772閲覧

OpenVPNサーバのFWを有効にすると対象サーバに繋がらない

teketeke

総合スコア46

OpenVPN

OpenVPNは、暗号化してサーバ間を繋ぐVPNソフトウェア。OSSで開発されており、負荷分散やフェイルオーバー、もしくは細かなアクセス権設定の実装もできます。様々なOSに移植され、各OS上での利用が可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

1クリップ

投稿2018/07/30 06:27

前提・実現したいこと

OS:CentOS7
OpenVPNサーバを経由して、対象サーバへping,SSH,MySQLのみ許可したい。

発生している問題・エラーメッセージ

現在新規にOpenVPNサーバを構築していますが、以下のような状態で意図したように接続制限ができません。

・OpenVPNのfirewalldの有効無効関係なく、クライアントからOpenVPNサーバへの接続が可能。
・OpenVPNサーバのfirewalldが無効の状態であれば、クライアントからOpenVPNサーバ経由で対象サーバへの通信(ping,SSH確認)が可能。
・firewalldを有効にすると、クライアントからOpenVPNサーバ経由で対象サーバへのPing応答はあるが、SSH接続できない。

Ping応答があるので、通信経路上のスイッチ等の問題はなく、OpenVPNのfirewallの設定が間違っていると考えています。
使用している両方のゾーンにsshがあるのにつながらない原因がわからないのですが、どこが問題なのでしょうか。

該当のソースコード

# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100 # firewall-cmd --get-zone-of-interface=ens192 public # firewall-cmd --get-zone-of-interface=tun+ openvpn # firewall-cmd --permanent --list-all --zone=openvpn openvpn (active) target: default icmp-block-inversion: no interfaces: tun+ sources: services: mysql ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: # firewall-cmd --permanent --list-all --zone=public public target: default icmp-block-inversion: no interfaces: sources: services: ssh dhcpv6-client openvpn ports: 123456/udp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: # cat /etc/openvpn/server.conf port 123456 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh.pem server 10.8.3.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "route 172.16.200.244 255.255.255.255" keepalive 10 180 tls-auth ta.key 0 comp-lzo user nobody group nobody persist-key persist-tun status openvpn-status.log log-append /var/log/openvpn.log verb 4 explicit-exit-notify 1 management localhost 7505 crl-verify crl.pem

試したこと

ゾーンが有効になっているかを試す為、public,openvpnの両方のゾーンに、以下を実行してping応答しないようにしてもping応答はありました。

# firewall-cmd --zone=openvpn --remove-icmp-block=echo-request --permanent 実行後にsystemctl restart firewalld実行

補足情報(FW/ツールのバージョンなど)

openvpn-2.4.6-1.el7.x86_64

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

インターフェース 2つを IN, OUT で経由するので、iptables の FORWARD チェインで許可する必要があります。
iptables -nvL で見ると、FORWARD → FORWARD_IN_ZONES → FWDI_openvpn とつながっていて、FWDI_openvpn で icmp がデフォルトで許可されていると思います。
ここに、22/TCP などを追加(おそらく FWDI_openvpn_allow に追加)すればいいのですが、firewall-cmd のどのオプションに該当するのかはわかりませんでした。
(--add-forward-port は DNAT になるので、違いますし)

投稿2018/07/31 14:10

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teketeke

2018/08/01 08:50

TaichiYanagiya様 回答頂きありがとうございます。 結局openvpn ゾーンは使っていないのと、いろいろ設定を変更したりしたので以下以外の変更もしたかもしれませんが、とりあえずfirewall-cmd directコマンドを使って接続先を制限することができました。 ~~~~~~ ・publicゾーンのmasqueradeを有効化 >SSHが通るようになる。 ・以下のコマンドで接続先を制限 # firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD_direct 20 -s 10.8.3.0/24 -d 172.16.200.244/32 -j ACCEPT # firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD_direct 30 -s 10.8.3.0/24 -d 0.0.0.0/0 -j DROP ここでポートとか制限を掛ければ問題なさそうです。 ※要件がふわっとしてきたので、対象サーバへのみ全部通すようにしました。 ~~~~~~ ※おそらく以下のコマンドでできるかもしれません。 # firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD_direct 1 -p tcp --dport 22 -s 10.8.3.0/24 -d 172.16.200.244/32 -j ACCEPT
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問