UFWルールがdockerで機能しない


8

12.04.4サーバーがあり、ufwを有効にして、ポートをブロックしようとしました8080。しかし、それはまだ開いています。

$ sudo ufw deny 8080
Rule added
Rule added (v6)

$ sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    Anywhere
[ 2] 80                         ALLOW IN    Anywhere
[ 3] 8080                       DENY IN     Anywhere
[ 4] 22                         ALLOW IN    Anywhere (v6)
[ 5] 80                         ALLOW IN    Anywhere (v6)
[ 6] 8080                       DENY IN     Anywhere (v6)

考え?8080にあるWebサイトには引き続きアクセスできます。システムを何度か再起動しました。IPアドレスは静的割り当てによって処理されますが、それが問題であることを示すものは何も見つかりません。

ブロックしようとしているサービスはDockerインスタンスにありますが、この質問は役に立ちませんでした。


両方のプロトコルが必要ですか、それとも重要ですか?そして、あなたはgufwをインストールしていますか?
Seth

また、iptablesをいじっていなかったと思います。
セス14

@Sethシステムはipv4のみなので、v6は気にしません。そして、いいえ、私はしていません。
jrg

私はtcp / udpを意味しました。
セス14

tcpをブロックする必要があります。そのudpポートには何もありません。
jrg

回答:


4

私が使用しているDockerテンプレートはDiscourse用です。containers/app.ymlファイルを編集して「expose」セクションにこれを含めることで解決しました:

 - "127.0.0.1:20080:80"

つまり、127.0.0.1のポート20080をDockerインスタンスのポート80にルーティングするため、ufwルールの必要性が完全になくなります。


1

私はそれをテストしました。

コマンドを入力するとsudo ufw deny 80、に接続できましたが、他のホストは接続できませんでした。

あなた以外から接続してみることをお勧めします。


ああ、それかな?
セス

国の反対側にあるサーバーにsshでログインし、ローカルのWebブラウザーからシステムに正常にアクセスしています。
jrg
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.