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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Linux

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

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

解決済

[VPS(KVM)] ポート49152が開放できない。python / お名前.com / Centos8 Stream

stakezo
stakezo

総合スコア23

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Linux

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

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

1回答

0評価

0クリップ

93閲覧

投稿2022/06/22 19:41

よろしくお願いします。どんな些細なことでもかまいません。助かります。


ポート開放について「家のPC①⇔ルータ②⇔お名前.comのIPセキュリティ③⇔Centos8のファイアウォール④」と、4つくらいポート開放するには触るところがあると思うのですが、解決できず・・お力を貸していただければ幸いです。
かつて、PostgreSQLのポート開放が~~と同じような質問をし、解決した過去があります。




私は、お名前.com の VPS(KVM) を契約して、 Centos8 Stream(以下サーバ) を利用しています。
以下のpython のプログラムを

 グローバルIPのサーバ <----> 私が持っているパソコン

で上手く動かすことが出来ず困っています。

# サーバ側 ======================================================== import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(('0.0.0.0', 49152)) # IPとポート号を指定します s.listen(5) while True: clientsocket, address = s.accept() print(f"Connection from {address} has been established!") clientsocket.send(bytes("Welcome to the server!", 'utf-8')) clientsocket.close()
# クライアント側 ======================================================== import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('123.45.67.89', 49152)) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) msg = s.recv(1024) print(msg.decode("utf-8"))

 
これらのプログラムは、127.0.0.1 の自分自身や、192.168.0.n のLAN内では、通信が成功し、クライアント側に「Welcome to the server!」が返ってきます。
イメージ説明



サーバ側では、ポート49152を開放するために、Firewall と、 IPセキュリティの2つを設定しています。

※サーバ側 [root@v123-45-67-89 html]# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: cockpit dhcpv6-client http https ssh ports: 80/tcp 10022/tcp 5432/tcp 49152/tcp protocols: forward: no masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

お名前.com の 「VPS(KVM)サーバーコントロールパネル」より
IPセキュリティ > セキュリティグループに「port49152」を追加、反映し、サーバ再起動を行いました。
イメージ説明

サーバ側の操作は、私が持っているパソコンで、Tera Term 経由で接続しています。

サーバ側で python は動くことを確認しています。

# test.py print('test') # 起動例と出力例 # $ python3.6 test.py # test

 


クライアント側では、Windows Firewall で、送信側のポート49153を開放しました。
イメージ説明
127.0.0.1でのテストについて、このFirewallの設定を削除すると、繋がらなくなり、設定するとつながるようになる、という変化を確認しています。
そして、ルーターのポートも開放しています。
イメージ説明
49152のみ開放したいのですが、左右同値だとエラーで設定できず。やむを得ずこの設定にしています。
イメージ説明


以上です、ポートの開放にまつわる作業が昔から苦手で上手く行かないです。
もし、解決法や、参考になるような文献をお知りの方は、ご教授よろしくお願いします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Linux

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

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。