- blogs:
- cles::blog
« ごはん処 しなの (閉店) :: 死んだらデータをどうするか? »
2013/04/12
続・iptablesでポートマッピング
iptablesiptables を使ったポートマッピングは以前にもやりましたが、今回はローカルで起動しているサービスのポートを読み替えます。具体的には下図のように、Client からサーバの :80 にアクセスすると、そのリクエストが :8080 で待ち受けているサービスに転送されることです。
┌───────────┐
│ Client │
│ 192.168.100.2 │
└───────────┘
│192.168.100.0/24
┌─ :80 ────────── :8080 ───┐
│ │ ↑(httpd) │
│ └ - - - - - - - - - - - -┘ │
│ Server 192.168.100.1 │
└────────────────────┘
そもそも、なんでこんな事やりたかったのかと言うと、1023番以下のポート番号は特権ポートなので、Linux 上では root で起動するか、もしくは setcap コマンド*1で CAP_NET_BIND_SERVICE ケーパビリティを付与してやる必要があります。今回はサービスを root にしたり、ケーパビリティを付与したくなかったので、 iptables を使ってポートを読み替えることにしました。
ポートを読み替えるだけなので、最初に REDIRECT を試してみたのですが、なぜか上手く動作せず。
iptables -t nat -A PREROUTING -d 192.168.100.1 -p tcp --dport 80 -j REDIRECT --to-port 8080
仕方がないので、下記のように DNAT を使ってみると、目的を達することができました。
iptables -t nat -A PREROUTING -d 192.168.100.1 -p tcp --dport 80 -j DNAT --to-destination :8080
自分の中ではちょっとやってることに違いが見いだせないのですが、この2つのコマンドの意味は微妙に異なるようです。
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/5735
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
« ごはん処 しなの (閉店) :: 死んだらデータをどうするか? »
サイト内検索
検索ワードランキング
へぇが多いエントリ
- シャープの空気清浄加湿器の... (1)
- SMARTEK デジタル温湿度計 (1)
閲覧数が多いエントリ
1 . NP_TrackBack v2.x系の使い方(16591)
2 . Word で数式がグレーアウトされていて挿入できないときは(15160)
3 . awk で指定した n カラム目以降を出力する(11759)
4 . アーロンチェアのポスチャーフィットを修理(11449)
5 . Windows 10 で勝手にログアウトされないようにする(9736)
2 . Word で数式がグレーアウトされていて挿入できないときは(15160)
3 . awk で指定した n カラム目以降を出力する(11759)
4 . アーロンチェアのポスチャーフィットを修理(11449)
5 . Windows 10 で勝手にログアウトされないようにする(9736)
cles::blogについて
Referrers