最終更新:2019-05-10 (金) 12:17:30 (1975d)
iptables
Top / iptables
http://www.netfilter.org/projects/iptables/index.html
Main Features
- listing the contents of the packet filter ruleset
- adding/removing/modifying rules in the packet filter ruleset
- listing/zeroing per-rule counters of the packet filter ruleset
基本
起動
service iptables start
- iptables はサービスを再起動すると、/etc/sysconfig/iptables の内容を読み込んで起動する。
現在の設定を保存
service iptables save
- 「/etc/sysconfig/iptables」 がすでに存在する状態でさらに save すると、「/etc/sysconfig/iptables」 に現在の設定が保存され、
- 「/etc/sysconfig/iptables.save」 に 1 世代前の設定が保存される。
テーブル
- filter - パケットフィルタリングで参照するテーブル。パケットフィルタリング?用
- nat - 新しい接続を開くパケットが参照するテーブル。アドレス変換用
- mangle - 特別なパケットが参照するテーブル
チェイン
組み込みチェイン
チェイン 意味 テーブル INPUT パケットが入ってくるときにチェック filter,mangle OUTPUT パケットが出ていくときにチェック filter,nat,mangle FORWARD パケットをフォワードする時にチェック filter PREROUTING パケットが入ってきた時に変換 nat,mangle POSTROUTING パケットが出ていく時に変換 nat
処理される順番
- PREROUTING
- ROUTING
- FORWARD
- INPUT
- OUTPUT
- POSTROUTING
ターゲット
- 行う処理のこと
ターゲット ACCEPT 通過 DROP 破棄 RETURN チェイン内のルール評価を終了 REDIRECT <port> パケットを<port>にリダイレクト REJECT ハケットを破棄し、その旨をICMPで通知。 SNAT パケットの送信元アドレスを修正 MASQUERADE パケットの送信元アドレスを修正
ルール
- パケットの内容との比較条件
オプション 意味 -p 対象のプロトコルを指定 -s パケットの始点アドレス -d パケットの終点アドレス -sport TCP,UDPでの送信元ポート -dport TCP,UDPでの送信先ポート --tcpflags <mask><comp> TCPで<mask>指定されているフラグを確認し、<comp>と一致するパケットを指定 iptables/tcpflags -i 入力するネットワークインターフェイス -o 出力するネットワークインターフェイス -j <target> パケットの処理方法。<targer>は別のチェインかルール --cmp-type ICMPでタイプ名を指定 -m <module> モジュールで処理 iptables/モジュール
設定
コマンド
- iptables
- iptables-save
iptables-save > filename
- iptables-restore?
iptables-restore < filename
設定ファイル
ウィザード
- GUI
- system-config-firewall
- system-config-securitylevel?
設定確認
# /sbin/iptables -nL -t filter
- -L 設定内容を表示
- -n ホスト名検索を行わない
- -t テーブル名を指定、省略するとfilter
- --line-number - ルール番号を表示する
チェインの操作
- iptables -N <chain> #チェインの作成
- iptables -X <chain> #チェインの削除
- iptables -E <old> <new> #名前の変更
ルールの操作
- iptables -A <chain> <rule> #ルールの作成
- iptables -D <chain> <rule> #ルールの削除
- iptables -F <chain> #ルールの削除
- iptables -I <chain> [number] <rule>#<number>番目にルールの追加
メモ
iptables -P FORWARD DROP FORWARDは使用しない iptables -P INPUT ACCEPT 一度、全て許可にする iptables -F チェインを全て削除 iptables -A INPUT -i lo -j ACCEPT 自らのパケットは全て許可 iptables -A INPUT -p tcp –dport 22 -j ACCEPT SSH許可 iptables -A INPUT -p icmp -j ACCEPT PING許可 iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT TCP接続開始と応答、FTPデータ等許可 iptables -P INPUT DROP 設定以外のパケット拒否
参考
- http://wiki.centos.org/HowTos/Network/IPTables
- http://wiki.centos.org/HowTos/Network/SecuringSSH
- http://www.linux.or.jp/JM/html/iptables/man8/iptables.8.html
- http://thinkit.jp/article/845/1/
- http://www.atmarkit.co.jp/flinux/rensai/iptables201/iptables201a.html
- http://lab.klab.org/young/2010/05/とある遠隔勤務者の冒険記録1-~linuxルータ作るよっ/