iptable 详解_最全的iptables防火墙详解.pdf

最全的iptables防火墙详解

iptables /

iptables /

iippttaabblleess官方网站:hhttttpp::nneettffiilltteerr..oorrgg//

• 数据包经过防火墙的路径

• 禁止端口

• 强制访问某站点

• 发布内部网络服务器

• 智能DNS

• 端口映射

• 通过NAT上网

• IP 规则的保存与恢复

• iptables指令语法

• iptables实例

数据包经过防火墙的路径

图1比较完整地展示了一个数据包是如何经过防火墙的,考虑到节省空间,该图实际上包了三种

情况:

来自外部,以防火墙(本机)为目的地的包,在图1中自上至下走左边一条路径。

由防火墙(本机)产生的包,在图1中从“本地进程”开始,自上至下走左边一条路径

来自外部,目的地是其它主机的包,在图1中自上至下走右边一条路径。

图1

如果我们从上图中略去比较少用的mangle 表的图示,就有图2所显示的更为清晰的路径图.

图2

禁止端口的实例

ssh

ssh

禁止sssshh端口

只允许在上使用ssh远程登录,从其它计算机上禁止使用ssh

#iptables-A INPUT -s-p tcp--dport22-j ACCEPT

#iptables-A INPUT -ptcp--dport22-jDROP

禁止代理端口

#iptables-A INPUT -ptcp--dport3128-j REJECT

icmp

icmp

禁止iiccmmpp端口

除外,禁止其它人ping我的主机

#iptables-A INPUT -i eth0-s/32-picmp-m icmp--icmp-type echo-request-j ACCEPT

#iptables-A INPUT -i eth0-picmp --icmp-typeecho-request –j ?DROP

#iptables-A INPUT -i eth0-s/32-picmp-m icmp--icmp-type 8-jACCEPT

#iptables-A INPUT -i eth0-picmp -m icmp--icmp-type 8-j DROP

注:可以用iptables--protocolicmp--help 查看ICMP 类型

还有没有其它办法实现?

QQ

QQ

禁止QQQQ端口

#iptables-D FORWARD-pudp--dport8000-j REJECT

强制访问指定的站点

图3

要使/24网络内的计算机(这此计算机的网关应设为0)强制访问指定的站

点,在做为防火墙的计算机(0)上应添加以下规则:

1. 打开ip包转发功能

echo1> /proc/sys/net/ipv4/ip_forward

2. 在NAT/防火墙计算机上的NAT表中添加目的地址转换规则:

iptables-t nat-IPREROUTING -i eth0-ptcp--dport80-j DNAT --to-destination30:80

iptables-t nat-IPREROUTING -i eth0-pudp--dport80-j DNAT--to-destination30:80

3. 在NAT/防火墙计算机上的NAT表中添加源地址转换规则:

iptables-t nat-IPOSTROUTING-o eth1-ptcp--dport80-s /24-j SNAT --to-source

0:20000-30000

iptables-t nat-IPOSTROUTING-o eth1-pudp--dport80-s/24-jSNAT --to-source

0:20000-30000

4. 测试:在内部网的任一台计算机上打开浏览器,输入任一非本网络的IP,都将指向IP 为

30的网站.

发布内部网络服务器

图4

要使因特网上的计算机访问到内部网的FTP 服务器、WEB 服务器,在做为防火墙的计算机上应

添加以下规则:

1.echo1>/proc/sys/net/ipv4/ip_forward

2. 发布内部网web服务器

iptables-t nat-IPREROUTING -ptcp-i eth1-s/24--dport80-jDNAT --to-destination

5:80

iptables-t nat-IPOSTROUTING-p

你可能感兴趣的:(iptable,详解)