iptables的DROP target

这个内置的target使内核不继续处理这条链,也不给发送者发送任何的拒绝信息。

只有DROP target 和 ACCEPT target 可以被用来当做内部链

可以看REJECT target,它会给发送者发送一个ICMP回复

禁止上某网站:

iptables -I OUTPUT -p tcp -m string --string "jd.com" --algo bm -j DROP
iptables -I OUTPUT -p tcp -m string --string "58.com" --algo bm -j DROP
iptables -I OUTPUT -p tcp -m string --string "taobao.com" --algo bm -j DROP
iptables -I OUTPUT -p tcp -m string --string "v2ex.com" --algo bm -j DROP
iptables -I OUTPUT -p tcp -m string --string "qq.com" --algo bm -j DROP

也可以使用reject

iptables -I OUTPUT -p tcp -m string --string "v2ex.com" --algo bm -j REJECT

删除一条记录

iptables -D OUTPUT 3

禁用 4001 端口

/sbin/iptables -A INPUT -p tcp --destination-port 4001 -j DROP

临时禁用到 domain.com 的访问

iptables -A INPUT -d domain.com -j REJECT

iptables的DNAT target

Destination Network Address Translation (DNAT)是通过修改包的目标地址和/或端口实现的。如果目标地址是多个,这些地址就会被分离。连接跟踪信息确保包的每一个地址走向同一主机和端口。

选项

--to-destination a1[-a2][:p1-p2]

a1和a2标明了目标地址,p1和p2标明了端口范围。

DNAT target只在nat表的PREROUTHING和OUTPUT链中可有

如:从80端口进来的包传到内部监听的电脑192.168.1.80

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.80

注意:当使用这种DNAT时,将内外DNS区分,才可以使内网的主机使用内部地址访问外网。

 

 

iptables常用排错工具

来自于

Linux iptables Pocket Reference

ethereal      Network protocol analyzer.       http://www.ethereal.com/
Nessus      Remote security scanner.         http://www.nessus.org/intro.html
nmap          Network mapper.                      http://www.insecure.org/nmap/
ntop            Network traffic probe.                http://ntop.ethereal.com/ntop.html
ping            Send ICMP ECHO_REQUEST to specific hosts.
tcpdump    Packet capture and dumping.    http://www-nrg.ee.lbl.gov/
traceroute  Print the route packets take to a specific host.