ファイアウォールの iptables 戦略を使用して Linux サーバー上のポートを転送する方法

ファイアウォールの iptables 戦略を使用して Linux サーバー上のポートを転送する方法

2つの異なるサーバー間の転送

ポート転送を有効にする

まず、デフォルトでは無効になっている IP 転送機能を有効にします。

一時的な変更:

[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward

変更はすぐに有効になりますが、システムを再起動するとデフォルト値の 0 に戻ります。

永久的な変更:

vi /etc/sysctl.conf

# 次の値を見つけて0を1に変更します

ネット.ipv4.ip_forward = 1

# sysctl -p (すぐに有効にする)

デフォルト値 0 では IP 転送が無効になり、1 に変更すると IP 転送機能が有効になります。

ポート転送を設定する

ユーザーが115.29.112.119:8804にアクセスしたとき、それを42.99.16.84:8890に転送したいとします。

まず、サーバーのポート8804を開きます

設定ファイルを変更します: vim /etc/sysconfig/iptables

-A 入力 -p tcp -m 状態 --state 新規 -m tcp --dport 8804 -j 受け入れる

またはコマンドラインから実行して保存する

[root@localhost sysconfig]# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8804 -j ACCEPT
[root@localhost sysconfig]# サービス iptables 保存
iptables: ファイアウォールルールを /etc/sysconfig/iptables に保存しています:[OK] 

ポート転送

方法1: コマンドライン実行

保存する必要があります。保存しないとすぐに有効になり、再起動後にファイアウォールルールがクリアされます。

iptables -t nat -A PREROUTING -d 115.29.112.119 -p tcp --dport 8804 -j DNAT --to-destination 42.99.16.84:8890

iptables -t nat -A POSTROUTING -d 42.99.16.84 -p tcp --dport 8890 -j SNAT --to-source 115.29.112.119

設定ファイルを変更せずに保存するコマンド: service iptables save

方法2: 設定ファイルに直接保存する

/etc/sysconfig/iptables設定ファイルを変更し、ルールを追加します。

-A 事前ルーティング -d 115.29.112.119 -p tcp --dport 8804 -j DNAT --to-destination 42.99.16.84:8890

-A POSTROUTING -d 42.99.16.84 -p tcp --dport 8890 -j SNAT --to-source 115.29.112.119

設定後、ファイアウォールを再起動します。

1.systemctl restart iptables (centos7); 2.service iptables restart (centos7 およびそれ以前のバージョン)

設定されたポリシーを表示する

iptables -t nat --list --行番号

ローカルポート転送

異なるマシン間でポートを転送するだけであれば、比較的簡単です。たとえば、http://ip:8888 にアクセスして、http://ip:6666 のコンテンツを返す場合、設定は次のようになります。

[root@localhost ~]# iptables -t nat -A PREROUTING -p tcp --dport 8888 -j REDIRECT --to-ports 6666
[root@localhost ~]# サービスiptables保存
[root@localhost ~]# サービスiptablesを再起動します

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux ファイアウォールの状態確認方法の例
  • Linux ファイアウォールを設定してポート 80 と 3306 を開く方法
  • Linuxの簡単な分析でファイアウォールの状態と外部に開いているポートの状態を確認する
  • Linux システムでファイアウォール設定を変更する方法
  • Linux でファイアウォールがオフになっているかどうかを確認する方法

<<:  WeChatミニプログラム公式顔認証の詳しい説明

>>:  データベースクエリの最適化: サブクエリの最適化

推薦する

子コンポーネントで vue activated を使用する詳細

ページ: ベース: <テンプレート> <div class="タブコンテ...

Vue のトランジション効果とアニメーショントランジションの使用例の詳細な説明

目次遷移フック関数カスタム遷移クラス名遷移グループの使用まとめまずは例を見てみましょうコードは次のと...

npm グローバル モジュールのデフォルトのインストール パスを変更するためにノードのインストールをカスタマイズする手順

node を D ドライブにインストールしましたが、C ドライブのスペースを占有したくなかったため、...

Linux manコマンドの具体的な使い方

01. コマンドの概要Linux には充実したヘルプ マニュアルが用意されています。コマンドのパラメ...

選択ドロップダウンボックスの値をIDに渡してコードを実装する方法

完全なコードは次のとおりです。 HTMLコード:コードをコピーコードは次のとおりです。 <!-...

Samba を使用して Linux サーバー上で共有ファイル サービスを構築する方法

最近、私たちの小さなチームは、サーバー上の共有フォルダーを共有して、全員がパブリックリソースドキュメ...

JavaScript キャンバスでカラフルな太陽のハロー効果を実現

この記事では、カラフルな太陽のハロー効果を実現するためのJavaScriptキャンバスの具体的なコー...

163 メールボックスログインボックスインタラクティブデザインの改善体験と共有

LOFTER のコンテストで、ログイン ボックスを再設計できると言及されているのを見ました。過去 2...

MySQL 面接でよく聞かれる質問への回答

序文:さまざまな技術職の面接では、MySQL 関連の質問がよくされるようです。開発職の面接でも運用職...

JavaScript の寄生的構成継承についての簡単な説明

コンポジション継承組み合わせ継承は、疑似古典的継承とも呼ばれます。これは、昨日説明したプロトタイプ ...

Vue でルーティング遷移効果を実装する 4 つの方法

Vue ルーター トランジションは、Vue プログラムにパーソナライズされたエフェクトをすばやく簡単...

JavaScript タイマーの詳細

目次1. 簡単な紹介2. 間隔を設定する2.1 説明2.2 パラメータ2.3 戻り値2.4 使用法3...

IIS7~IIS8.5 サーバープロトコルヘッダーの削除または変更

要件: IIS 7、7.5、8.0、8.5、および ASP.NET で HTTP 応答ヘッダーを削除...

インライン要素とブロック要素とは何ですか?

1. インライン要素はコンテンツの幅のみを占めますが、ブロック要素はコンテンツの量に関係なく行全体を...

JavaScript の構成と継承の説明

目次1. はじめに2. プロトタイプチェーン継承3. コンストラクタの継承4. 組み合わせ継承1. ...