パソコン情報

Linux 開いているポート確認と変更

サーバ管理していると、ポート関係で思ったサービスがインターネット上から遮断されていて動かなかったりする場合があります。その場合ファイヤーウォールを確認して変更などの作業が必要になります。

使用しているポートの確認コマンド

# lsof -i -P

# lsof -i -P | more

| moreをつけると、ページごとに表示してくれるので流されなくて済みます。

上記の図のように、何となく、どのポートが何に使われているのかが確認できますね。

開いているポート確認

実際に、ファイヤーウォールで遮断されてない外部にも開いているポートを確認します。

# nmap localhost

上記の図から、993という数字がありますが、この数字は、外部からの通信を受け付けていない状態のポートという意味のようです。

その下の方に、22、80・・・とありますが、この表示が、現在外部に対して開いてアプリケーションが受信可能なポートのようです。

 

# nmap -p 0-65535 localhost

上記のように、ポートの範囲を選択して開いて使われている外部ポートを調べることができるようです。

上記のは、TCPだけでしたが、UDPを調べたい場合は、

# nmap -sU localhost

iptablesでポート管理

ポートの開け閉めは、コマンドからできるようですが、その方法は、下記の参考サイトを参考にしてください。

CentOSポート開放のやり方

Linux のファイアウォールで任意のポートを開閉する 

Linux firewalldでポート開放する方法(RHEL/CentOS7系) 

 

# vi /etc/sysconfig/iptables

などで、iptablesの中を見ると、

上記の図のようになっていますが、80ポートの設定が複数でていますが、何で入っているのかは今の自分にはわかりません。

それは後ほど調べるとして、意味を調べてみたいと思います。

 

-A INPUT -p tcp -m tcp --dport **** -j ACCEPT

 

この文字列が、ポート開放の分であり、****番ポートをTCPで受け付け可能にする命令のようです。****を好きな数字にすれば望むポートを開くことができるようですね。

ポートの設定を追加したら、iptablesを再起動して設定を有効にします。

$ /etc/init.d/iptables restart

ちなみに、ipteblesの書式の意味は下記のサイトに詳細がある。

IPTABLES

ファイアウォールiptablesを簡単解説~初心者でもよくわかる!VPSによるWebサーバー運用講座(4)