ネットワーク設定 · 2 min read · Jan 15, 2026

Debian Etch における rinetd を使用したポートフォワーディング

Debian Etch における rinetd を使用したポートフォワーディング

バージョン 1.0
著者: Falko Timme

この記事では、Debian Etch で rinetd を使用してポートフォワーディングを行う方法を示します。rinetd を使用すると、あるシステムから別のシステムにポートを転送できます。これは、ウェブサイトを異なる IP アドレスを持つ新しいサーバーに移動した場合に便利です。もちろん、DNS レコードを変更しましたが、DNS の変更が有効になるまで数日かかることがあります。そこで rinetd が役立ちます。クライアントがまだ古い DNS レコードを使用している場合、rinetd はそれらを新しいサーバーにリダイレクトできます。rinetd を使用すると、iptables ルールをいじる必要はありません。

これがあなたにとって機能するという保証はありません!

1 前提条件

この例では、IP アドレス 192.168.0.101 から IP アドレス 192.168.0.100 への HTTP トラフィック (ポート 80) をリダイレクトしようとしています。

rinetd は FTP をリダイレクトできないことに注意してください。FTP は 1 つ以上のソケットを必要とします。

2 rinetd のインストールと設定

rinetd をインストールするには、単に次のコマンドを実行します。

apt-get install rinetd

rinetd の設定ファイルは /etc/rinetd.conf です。192.168.0.101 から 192.168.0.100 への HTTP トラフィックを転送するには、次の行を追加します: 192.168.0.101 80 192.168.0.100 80:

vi /etc/rinetd.conf

| # # これは rinetd の設定ファイルで、インターネットリダイレクションサーバーです # # ここでグローバルな許可および拒否ルールを指定できます # ここでは IP アドレスのみが一致し、ホスト名は指定できません # 使用できるワイルドカードは * と ? です # # allow 192.168.2.* # deny 192.168.2.1? # # 転送ルールはここに来ます # # 特定の転送ルールの後に許可および拒否ルールを指定できます # それにのみ適用されます # # bindadress bindport connectaddress connectport 192.168.0.101 80 192.168.0.100 80 # ロギング情報 logfile /var/log/rinetd.log # ウェブサーバースタイルのログファイル形式が必要な場合は、次の行のコメントを外してください # logcommon |

その後、rinetd を再起動します:

/etc/init.d/rinetd restart

次に、次のコマンドを実行します。

netstat -tap

すると、rinetd がポート 80 (www) でリッスンしていることがわかります:

server2:~# netstat -tap
アクティブなインターネット接続 (サーバーおよび確立済み)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 :sunrpc : LISTEN 1956/portmap
tcp 0 0 server2.example.com:www
: LISTEN 2485/rinetd
tcp 0 0
:3025 : LISTEN 2347/rpc.statd
tcp 0 0 :auth : LISTEN 2306/inetd
tcp 0 0 localhost.localdom:smtp
: LISTEN 2294/exim4
tcp6 0 0
:ssh : LISTEN 2326/sshd
tcp6 0 0 server2.example.com:ssh ::ffff:192.168.0.3:4776 ESTABLISHED2409/0
server2:~#

今、ブラウザを IP アドレス 192.168.0.101 のウェブページに向けると、IP アドレス 192.168.0.100 のサーバーからそのページを受け取るはずです。

/etc/rinetd.conf でポート番号を指定する代わりに、サービス名を使用することもできます。サービス名は /etc/services に保存されているので、そのファイルを開くと、ポート 80 のサービス名が Debian では www であることがわかります。

grep 80 /etc/services

server2:~# grep 80 /etc/services
www 80/tcp http # WorldWideWeb HTTP
www 80/udp # HyperText Transfer Protocol

socks 1080/tcp # socks proxy server
socks 1080/udp
amanda 10080/tcp # amanda backup services
amanda 10080/udp
omirr 808/tcp omirrd # online mirror
omirr 808/udp omirrd
canna 5680/tcp # cannaserver
zope-ftp 8021/tcp # zope management by ftp
webcache 8080/tcp # WWW caching service
tproxy 8081/tcp # Transparent Proxy
omniorb 8088/tcp # OmniORB
omniorb 8088/udp
server2:~#

したがって、次の設定を /etc/rinetd.conf に使用することができ、最初のものと同じ効果があります:

vi /etc/rinetd.conf

| # # これは rinetd の設定ファイルで、インターネットリダイレクションサーバーです # # ここでグローバルな許可および拒否ルールを指定できます # ここでは IP アドレスのみが一致し、ホスト名は指定できません # 使用できるワイルドカードは * と ? です # # allow 192.168.2.* # deny 192.168.2.1? # # 転送ルールはここに来ます # # 特定の転送ルールの後に許可および拒否ルールを指定できます # それにのみ適用されます # # bindadress bindport connectaddress connectport 192.168.0.101 www 192.168.0.100 www # ロギング情報 logfile /var/log/rinetd.log # ウェブサーバースタイルのログファイル形式が必要な場合は、次の行のコメントを外してください # logcommon |

rinetd がインストールされているシステム上のすべての IP アドレスでリッスンするようにするには、bindaddress として 0.0.0.0 を使用できます:

vi /etc/rinetd.conf

| # # これは rinetd の設定ファイルで、インターネットリダイレクションサーバーです # # ここでグローバルな許可および拒否ルールを指定できます # ここでは IP アドレスのみが一致し、ホスト名は指定できません # 使用できるワイルドカードは * と ? です # # allow 192.168.2.* # deny 192.168.2.1? # # 転送ルールはここに来ます # # 特定の転送ルールの後に許可および拒否ルールを指定できます # それにのみ適用されます # # bindadress bindport connectaddress connectport 0.0.0.0 80 192.168.0.100 80 # ロギング情報 logfile /var/log/rinetd.log # ウェブサーバースタイルのログファイル形式が必要な場合は、次の行のコメントを外してください # logcommon |

rinetd を再起動した後…

/etc/init.d/rinetd restart

… rinetd はすべてのインターフェースでリッスンするはずです (*:www):

netstat -tap

server2:~# netstat -tap
アクティブなインターネット接続 (サーバーおよび確立済み)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 :sunrpc : LISTEN 1956/portmap
**tcp 0 0
:www : LISTEN 2503/rinetd*
tcp 0 0
:3025 : LISTEN 2347/rpc.statd
tcp 0 0 :auth : LISTEN 2306/inetd
tcp 0 0 localhost.localdom:smtp
: LISTEN 2294/exim4
tcp 0 0 server2.example.com:www 192.168.0.3:4798 TIME_WAIT -
tcp6 0 0
:ssh : LISTEN 2326/sshd
tcp6 0 148 server2.example.com:ssh ::ffff:192.168.0.3:4776 ESTABLISHED2409/0
server2:~#

3 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。