今儿做项目的时候,正好遇到了一个问题,我们拿linux做路由器,然后卡掉某些流量,这个iptables策略该如何写呢?
某个interface收到数据包 -> PREROUTING (manage, nat) -> route ->
是发送给本机的数据包? -> INPUT (manage, filter) -> app
不是 -> FORWARD (manage, filter) -> POSTROUTING (manage, nat) -> 某个interface发出
看看脚本:
#!/bin/bash
export PATH=PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
./pre.sh
iptables -t nat -F
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t filter -F
echo 1 > /proc/sys/net/ipv4/ip_forward
for i in `echo 135`
do
realip=$(($i-100))
iptables -t filter -A FORWARD -d 10.9.62.$realip/32 -j DROP
done
for i in `seq 136 150`
do
realip=$(($i-100))
echo
ifconfig eth1:$i down
ifconfig eth1:$i 10.9.62.$i/24 up
iptables -t nat -I PREROUTING -i eth1 -d 10.9.62.$i/32 -j DNAT --to-destination 10.9.62.$realip
done
exit