iptables - サンプル#22013/07/28 |
Server上での iptables 設定サンプルです。想定する環境は以下の通りです。
Internet | +----------+ -------| Router | ------------------------------------------------------------- +----------+ | | | LAN(192.168.0.0/24) | LAN(10.0.0.0/24) | +----------+ +----------+ | 192.168.0.100| |10.0.0.1 | | -----------------------------| Server |----------------------------| PC | eth0| |eth1 | | +----------+ +----------+ |
・受信はデフォルト拒否
・送信はデフォルト許可 ・転送はデフォルト拒否 ・確立済みのコネクションは受信許可 ・ループバックアドレスは受信許可 ・内部ネットワーク(10.0.0.0/24)からの 1分間に5回までの Ping は受信許可 ・内部ネットワーク(10.0.0.0/24)からの SSH は受信許可 ・内部ネットワーク(10.0.0.0/24)から Server を経由して外部へ出ていくパケットは許可 (同時にソースアドレスを変換) |
|
[1] | iptables 設定 |
[root@dlp ~]#
vi iptables.sh #!/bin/bash trust_host='10.0.0.0/24' my_host='10.0.0.100' echo 1 > /proc/sys/net/ipv4/ip_forward /sbin/iptables -F /sbin/iptables -t nat -F /sbin/iptables -X /sbin/iptables -P INPUT DROP /sbin/iptables -P OUTPUT ACCEPT /sbin/iptables -P FORWARD DROP /sbin/iptables -A FORWARD -i eth1 -o eth0 -s $trust_host -j ACCEPT /sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT /sbin/iptables -A INPUT -p icmp --icmp-type echo-request -s $trust_host \ -d $my_host -m limit --limit 1/m --limit-burst 5 -j ACCEPT /sbin/iptables -A INPUT -p tcp -m state --state NEW -m tcp -s $trust_host \ -d $my_host --dport 22 -j ACCEPT /sbin/iptables -t nat -A POSTROUTING -o eth0 -s $trust_host -j MASQUERADE /etc/rc.d/init.d/iptables save /etc/rc.d/init.d/iptables restart sh iptables.sh iptables: Saving firewall rules to /etc/sysconfig/iptables: [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Unloading modules: [ OK ] iptables: Applying firewall rules: ip_tables: (C) 2000-2006 Netfilter Core Team nf_conntrack version 0.5.0 (16384 buckets, 65536 max) [ OK ] |
Sponsored Link |