Hot Linux トップページ(Redhat/CentOS/FedoraCore/Fedora Linux対応 インストール/設定 Linuxを始めたい人もLinuxで困っている人もどうぞ!)
インストール用メディアの入手はこちらから

Redhat/CentOS/FedoraCore/Fedora/Vine Linux対応 インストール/設定


★最新情報更新 2016-05-16  ★ハードウエア最終更新 2009-12-13

URLをみんなに教えるつぶやく  シェア   
広告
TOP > Redhat系Linux > iptables(iptable)の設定

iptables(iptable)の設定

更新日:2009-11-03 

うまく印刷できないときは…


●実行環境:Redhat7.1,Redhat7.3,Redhat9,WhiteBoxEL4

インストール/設定するもの:iptables(iptable)

LinuxBoxをルータとして使うための設定です。
WAN側(外部に接続されている側です。PPPoE接続していたり、上位のルータがある側)を192.168.0.100、内部LAN側を192.168.1.100とします。

カーネル2.4からipchainに替わり、iptables(iptable)を使うようになりました。ipchainよりさらに細かな設定が出来るようで、よさげです。

まず、ipchainが組み込まれないように、モジュールを削除します。
ipchainのモジュールが無く、すでにiptables(iptable)がインストールされていればルールの追加までとばしてよいです。
インストールされているか確認するには
#/sbin/iptables -L
などとすると簡単です。

#rm /lib/modules/2.4.2-2/kernel/net/ipv4/netfilter/ipchains.o

iptablesが入ってなければ、インストールしておきましょう
#tar xvzf iptables-1.2.9.tar.gz
#cd /usr/src/iptables-1.2.9
#make clean KERNEL_DIR=/usr/src/linux-2.4.25
#make KERNEL_DIR=/usr/src/linux-2.4.25
#make install KERNEL_DIR=/usr/src/linux-2.4.25
カーネルのソースファイルが必要みたいです。カーネルをコンパイルした後も残しておきましょう。
インストール時にetherealを選択しておかないとコンパイル失敗するようです

コンパイルエラーになる場合はMakefile内に-march=i686を追加するとうまくいくことがあるようです

/etc/rc.d/rc.localファイルの最後にルールを追加しておきます。

modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.0.100
#またはこんな感じ
#iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE

Linux をルーターとして動かすための書式は以下のとおりです。
iptables -t nat -A POSTROUTING -o [外部側IF] -j SNAT --to [外部側IP]
#またはこんな感じ
#iptables -t nat -A POSTROUTING -o [外部側IF] -s [内部側ネットワークアドレス/ネットマスク] -j MASQUERADE
二番目の書式はカーネルをコンパイルする際にMASQUERADEルールをYまたはMにしておく必要があります。

iptablesを実行したときにエラーが出て実行できないことがあります。
起動しようとしてるiptablesのバージョンは正しいか?指定したカーネルのディレクトリは正しいか?を確認しましょう

ちなみに外部からの接続をポートフォワードするときはこんな感じ。
iptables -t nat -A PREROUTING -p tcp --dport 8080 -i eth0 -j DNAT --to 192.168.1.???
iptables -t nat -A PREROUTING -p tcp --dport [ポート番号] -i [外部側IF] -j DNAT --to [内部の転送したいPCのIPアドレス]

デフォルトではすべてのポートのアクセスが許可されているので必要に応じて禁止してください。

サーバーに入ってくるパケットをデフォルトで禁止
iptables -p input drop

通過するまたは出て行くパケットはデフォルトで許可
iptables -p forward accept
iptables -p output accept

通過するまたは出て行くパケットをポートで禁止する場合はこんな感じ
iptables -A forward -p tcp --dport 445 -j drop
iptables -A forward -p udp --dport 445 -j drop
iptables -A forward -p [プロトコル] --dport [ポート番号] drop

iptables -A output -p tcp --dport 445 -j drop
iptables -A output -p udp --dport 445 -j drop
iptables -A output -p [プロトコル] --dport [ポート番号] drop

・失敗した事例1
設定するときはリモートからやるのはやめましょう。まさしはリモートで設定をしていて間違えてしまったことがあります。間違え方にもよりますが、つながらないままになってしまうこともあります。すぐには復旧できず、運用に支障が出るかもしれません。注意しましょう。

iptables(iptable)の設定 について質問する


別サイトもあります。リリース中のiPhone/iPad用便利アプリがいろいろ!ぜひご覧ください。
<<DHCPサーバのインストール/設定  autofsでautomount>>

URLをみんなに教えるつぶやく  シェア   

TOP > Redhat系Linux > iptables(iptable)の設定





携帯でこの記事を読む
下のバーコードを携帯で読み取ろう!モバイル版の【iptables(iptable)の設定】が読めます

http://www.hot-linux.org/mobile/redhat/?text_no=7
メインメニュー






Google Sitemaps用XML自動生成ツールを利用しています。

Hot Linux PDF
Hot Linux PDF

サイズ
約41.6MB
更新日
2016/07/09

Copyright (C) 1998-2017 Hot Linux,All right reserved