顯示具有 iptables 標籤的文章。 顯示所有文章
顯示具有 iptables 標籤的文章。 顯示所有文章

2016年1月8日

reverse 主機用的簡易 iptables

● ipfish.sh
#!/bin/bash
EXTIF="eth0"
INIF=""
INNET=""
export EXTIF INIF INNET

echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
for i in /proc/sys/net/ipv4/conf/*/{rp_filter,log_martians}; do
echo "1" > $i
done
for i in /proc/sys/net/ipv4/conf/*/{accept_source_route,accept_redirects,\
send_redirects}; do
echo "0" > $i
done

#清除各個 chain 的規則、並且設定初始值
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin; export PATH
iptables -F
iptables -X
iptables -Z
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#新增 chain work 和 pig
#work 為欲放行之IP
#pig 為欲阻擋的IP
iptables -N work
iptables -N pig

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

#進來的封包先通過 chain work 和 pig
iptables -A INPUT -j work
iptables -A INPUT -j pig

#新增 chain deny
#進來的封包一律記錄到log中、並且丟棄
iptables -N deny
iptables -A deny -j LOG --log-prefix "ipt pig : " --log-level 6
iptables -A deny -j DROP

sh /root/ipt/ipt.work
sh /root/ipt/ipt.deny

#HTTP並發數超過30的連線套用 chain deny 的規則
iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 30 -j deny

#放行 80 和 443 port
iptables -A INPUT -p TCP --dport 80 -j ACCEPT
iptables -A INPUT -p TCP --dport 443 -j ACCEPT


● ipt.work
iptables -A work -s x.x.x.x/32 -j ACCEPT #要放行的 IP

● ipt.deny
iptables -A pig -s x.x.x.x/32 -j DROP #要拒絕的 IP


● log 設定
centos 6.3 後版本
/etc/rsyslog.d/ipt.conf
:msg,contains,"ipt pig : " /var/log/ipt.log
& ~

service rsyslog restart

● centos 6.3之前版本
/etc/syslog.conf
kern.=6 /var/log/ipt.log
service syslog restart

2013年10月23日

iptables 筆記


架構如上
目標: PC 透過 PC1 的 port 9999 連到 PC2 的 port 3306
問題:因為 PC2 因為某些因素也有撥接,所以 PC2 Default Gateway 為 PPP0,導致透過 PC1 內網轉過來的封包會回不去。
解法:經過網友的教學,作法要搭配 mangle table 和 fwmark 來做

下面設定皆在 PC1
iptables -t mangle -A PREROUTING -i ppp0 -p tcp --dport 9999 -j MARK \
--set-mark 0x1/0x1
iptables -t nat -A PREROUTING -m mark --mark 0x1/0x1 -p tcp -j DNAT \
--to-destination 192.168.1.250:3306
iptables -t nat -A POSTROUTING -d 192.168.1.250 -m mark --mark 0x1/0x1 \
-j MASQUERADE




原始文章連結
http://www.ptt.cc/bbs/Linux/M.1382444566.A.BB6.html