UbuntuサーバーにインストールしたWebパネルアプリケーション(McMyAdmin)を使用できるようにポート8080を開こうとしています。私は通常Linux / SSHに初めて触れましたが、さまざまなガイドといくつかの友達のおかげでこれを行うことができました!私はポート8080を開こうとしたときに何が間違っているのか、誰が教えてくれるのか疑問に思います。 -nLを使用してルールを確認すると表示されるようですが、-vLを使用すると表示されません。また、vLとnLの実際の違いが何であるかよくわかりません。誰かがこれを理解するのに役立つことができれば良いでしょう!
編集:すべてを見ると、ポート80も開いていないようです。それについても何か措置を取る必要があるようです...
name@server:/etc/iptables$ sudo iptables -nL
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
REJECT all -- 127.0.0.0/8 0.0.0.0/0 reject-with icmp-port-unreachable
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 state NEW icmptype 8
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25565
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:8080
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
LOG all -- 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min burst 5 LOG flags 0 level 7 prefix "iptables_INPUT_denied: "
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain FORWARD (policy DROP)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
name@server:/etc/iptables$ sudo iptables -vL
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- lo any anywhere anywhere
0 0 REJECT all -- !lo any 127.0.0.0/8 anywhere reject-with icmp-port-unreachable
0 0 ACCEPT icmp -- any any anywhere anywhere state NEW icmp echo-request
0 0 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:ssh
0 0 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:25565
61 3096 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:http-alt
862 69185 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
21 1648 LOG all -- any any anywhere anywhere limit: avg 3/min burst 5 LOG level debug prefix "iptables_INPUT_denied: "
21 1648 REJECT all -- any any anywhere anywhere reject-with icmp-port-unreachable
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 REJECT all -- any any anywhere anywhere reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT 16 packets, 2992 bytes)
pkts bytes target prot opt in out source destination
答え1
iptables
を使用して、このコマンドに関する情報を読み取ることができますman iptables
。
そうすれば、
-v, --verbose
Verbose output. This option makes the list command show the interface name, the rule options (if any), and the TOS masks. The
packet and byte counters are also listed, with the suffix 'K', 'M' or 'G' for 1000, 1,000,000 and 1,000,000,000 multipliers
respectively (but see the -x flag to change this). For appending, insertion, deletion and replacement, this causes detailed
information on the rule or rules to be printed. -v may be specified multiple times to possibly emit more detailed debug state‐
ments.
-n, --numeric
Numeric output. IP addresses and port numbers will be printed in numeric format. By default, the program will try to display
them as host names, network names, or services (whenever applicable).
したがって、-n
サービス名の代わりに数字が表示されます。 -v
逆ではありませんが、-n
名前(デフォルト)とより多くのデータを表示します。
本質的に両方とも同じ内容を示しています。つまり、このエントリがあります(最初のものは数字、2番目のものは名前です)。
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:8080
61 3096 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:http-alt
http-alt
ポート8080のサービス名。デフォルトでは、2つの項目は異なる形式の同じ行です。
「ポートを開く」(デフォルトではiptablesファイアウォールを介したトラフィックを許可することを意味します)に加えて、関連ポートでトラフィックを許可する準備ができたソフトウェアが必要です。 McMyAdminはポート8080をリッスンするように設定されていますか?
このnetstat
コマンド(およびその他のコマンド)を使用して、どのプロセスがどのポートでリッスンしているかを確認できます。 netstat -an
すべてのポートを一覧表示し(-a
)番号を表示します(-n
)。これと組み合わせて使用すると便利ですgrep
。たとえば、netstat -an | grep 8080
ポート8080を使用するプロセスがあるかどうかが一覧表示されます。次のようなものを見ることもできます。
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
実際の数値は異なる場合があります。これにより、どの-p
プロセスがポートを使用しているかを表示できますが、rootとして実行するとすべてのプロセスのみが表示されます。
だから、sudo netstat -anp | grep 8080
次のようなものを与えるでしょう。
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 4856/some-process-name
出力が得られない場合は、ポート8080を使用したりリッスンしているものがないため、プロセスsudo netstat -anp
リストを使用して期待どおりのプロセスがあること、リスニングしているポートが何であるかを確認できます。