关于IPTABLES,求语句写法

关于IPTABLES,求语句写法

RT,想封禁内网中某IP(如192.168.1.200)上网站和登陆QQ,IPTABLES这样写可以吗?

-A INPUT -s 192.168.1.200 -i eth0 -p tcp -m tcp --dport 80 -j DROP
-A INPUT -s 192.168.1.200 -i eth0 -p tcp -m tcp --dport 443 -j DROP
-A INPUT -s 192.168.1.200 -i eth0 -p udp -m udp --dport 8000 -j DROP


以下为ifconfig -a输出结果:
[code:1]eth0      Link encap:Ethernet  HWaddr 00:0A:EB:2E:3A:8E
          inet addr:192.168.1.254  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20a:ebff:fe2e:3a8e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:755962548 errors:0 dropped:0 overruns:0 frame:0
          TX packets:765067548 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2643034746 (2.4 GiB)  TX bytes:1142790853 (1.0 GiB)
          Interrupt:18 Base address:0xc000

eth1      Link encap:Ethernet  HWaddr 00:E0:11:02:1E:85
          inet addr:61.185.218.xxx  Bcast:61.185.218.xxx  Mask:255.255.255.252
          inet6 addr: fe80::2e0:11ff:fe02:1e85/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:772563576 errors:0 dropped:0 overruns:0 frame:0
          TX packets:760406683 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2278434328 (2.1 GiB)  TX bytes:2756139001 (2.5 GiB)
          Interrupt:16 Base address:0x4000
[/code:1]
防火墙的思路是先允许,后全部禁止,这样的话便于管理
你可以用以下例句,但是QQ这个东东,只是简单的控制端口好像封不住,除非你80端口也关掉。

-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -j DROP

-A FORWARD -s 192.168.1.200/32 -j  ACCEPT
-A FORWARD -d 0.0.0.0/0.0.0.0 -j DROP
您肯定要做NAT了
应该在FORWARD链设置
iptables -P FORWARD DROP
把FORWARD所有数据封掉
iptables -A FORWARD -p tcp ! --dport 80  -s 192.168.1.200 -j ACCEPT
把200的WWW服务封掉,此句意思把所有来源200的TCP的非80端口的数据放行通过
iptables -A FORWARD -p udp ! --dport 4000 -s 192.168.1.200 -j ACCEPT
把200的QQ服务封掉,此句意思把所有来源200的UDP的非4000端口的数据放行通过
QQ的端口比较乱,有时8000端口,有时还用80端口,很难封,但可以让他很慢!!
iptables -A FORWARD -s 192.168.1.200 -j DROP
前面已经通过,此处肯定是WWW,QQ的数据,所以对200的数据封掉。
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
把192.168.1.0网段全部通过,但200的已经在前面短掉
iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT
返回数据
研究shorwall,可以学到相当多的IPTABLES语句写法。