ホームページ > 記事 > システムチュートリアル > CentOS でポート転送を設定するにはどうすればよいですか?
IP 転送を有効にする
最初に、デフォルトではオフになっている IP 転送機能を有効にします。
一時的な変更:
# エコー 1 >/proc/sys/net/ipv4/ip_forward
変更後すぐに有効になりますが、システムを再起動するとデフォルト値の0に戻ります。
永続的な変更:
vi /etc/sysctl.conf
# 以下の値を見つけて 0 を 1 に変更します
net.ipv4.ip_forward = 1
# sysctl –p (即時有効にする)
デフォルト値の 0 では IP 転送が無効になります。1 に変更すると IP 転送機能が有効になります。
ポート転送の構成
ユーザーが 172.16.4.247:728 にアクセスしたときに、それを 172.16.4.97:80 に転送したいとします。
# iptables -t nat -A PREROUTING -p tcp -d 113.108.110.61 --dport 728 -j DNAT --to-destination 172.16.4.97:80# iptables -t nat -A POSTROUTING -p tcp -s 172.16.4.97 --sport 80 -j SNAT --to-source 172.16.4.247
# サービス iptables 保存 (現在のルールを /etc/sysconfig/iptables に保存)
または、/etc/sysconfig/iptables ファイルを直接変更することもできます。
-A プリルーティング -d 172.16.4.247/32 -p tcp -m tcp --dport 728 -j DNAT --to-destination 172.16.4.97:80
-A ポストアウト -s 172.16.4.97/32 -p tcp -m tcp --sport 80 -j SNAT --to-source 172.16.4.247
最後にポート 728 を開くことを忘れないでください
-A INPUT -p tcp -m state --state NEW -m tcp --dport 728 -j ACCEPT
構成が完了したら、必ずファイアウォールを再起動してください:
# サービス iptables の再起動
ネイティブ ポート転送
ローカルマシン間で異なるポートを転送するだけであれば、もっと簡単です。たとえば、http://ip:729 にアクセスしたときに、http://ip:80 の内容を返したいとします。設定は次のとおりです。次のように: ###[root@localhost sbin]# iptables -t nat -A PREROUTING -p tcp --dport 729 -j REDIRECT --to-ports 80
[root@localhost sbin]# サービス iptables 保存
[root@localhost sbin]# サービス iptables の再起動
以上がCentOS でポート転送を設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。