黑夜 发表于 2012-3-4 22:15:09

iptables应用

iptables -L -n --line-numbers 查看iptables规则
iptables -D INPUT 5 删除INPUT链上的第5条规则
一。例如:iptables -A INPUT -p icmp -j DROP
所有进来的icmp协议类型的数据包被拒绝。
1.-A 增加一条规则 -D 删除一条规则 -I 插入一条规则 -R 替换一条规则 -F 清空一条规则
2.-p 协议类型 -s 源 -d 目标 -i 进入的接口 -o 出去的接口 -j 跳转(后面跟动作)-m 匹配条件
二。例如:iptables -A INPUT -p tcp -d 10.0.0.1 --dprot 21 -j DROP 协议类型是tcp,目标地址是10.0.0.1且端口为21的数据包被拒绝进入主机
                  iptables-I INPUT -p tcp -m string --string "223344" --algo bm-j DROP
这条是通过关键字“223344”不能进来的
三。我们做规则要现在INPUT OUTPUT链路上拒绝所有数据包的访问,然后在允许部分安全的数据包进入主机,如下。
1.iptables -P INPUT DROP 拒绝所有进入本机的数据包
2.iptables -P OUTPUT DROP 拒绝所有出去的数据包
3.iptables -A INPUT -p tcp -d 10.0.0.1 --dprot 22 -j ACCEPT
允许协议类型tcp 目标地址是10.0.0.1 端口是22的数据包进入本机
4.iptables -A OUTPUT -p tcp -s 10.0.0.1 --sprot 22 -j ACCEPT
允许协议类型tcp 源地址是10.0.0.1 端口是22的数据包通过本主机出去
(以上2条规则定义了允许客户机以22号端口连接本主机,如果要本主机也可以以22号端口连接远程主机则另外定义规则)
iptables-save > /etc/sysconfig/iptables 当我们做好规则以后要保存我们的劳动成果。
四。配置DNS服务器的防火墙规则
1.iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
允许目标端口为53的udp协议数据包从本机出去
2.iptables -A INPUT -p udp --sprot 53 -j ACCEPT
允许目标端口为53的udp协议数据包进入本机
3.iptables -A INPUT -p udp -d 10.0.0.1 --dprot 53 -j ACCEPT
允许目标地址为10.0.0.1 目标端口为53的数据包进入本机
4.iptables -A OUTPUT -p udp -s 10.0.0.1 --sprot 53 -j ACCEPT
允许源地址为10.0.0.1 源端口为53的数据包出本机

五。打开回环接口
1.iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
允许源地址为127.0.0.1 目标地址为127.0.0.1 端口任意的数据包进入本机
2.iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
允许源地址为127.0.0.1 目标地址为127.0.0.1 端口任意的数据包出本机(^IN^OUT)重复上一条规则 将IN改为了OUT
六。增加状态检测功能
1.iptables -A OUTPUT -p tcp --sprot 22 -m state --state ESTABLISHED -j ACCEPT
只允许建立过连接的数据包出去. (也就是说不允许本机主动产生数据包从22号端口出去。例如有的木马程序主动连接外网。)
七。将某条规则的连接状态写入日志(供管理员分析主机可能存在的问题)
1.iptables -I INPUT 6 -p tcp --dprot 22 -j LOG --log-level 5 --log-prefix "iptables:"
I是插入规则 6是要插入的规则是第几条 --log-level 要记录的日志水平 --log-prefix 日志开始的字符串
要加入日志必须修改日志服务器的配置文件 vi /etc/syslog.conf 增加 kern.=notice /var/log/firewall.log
八。转发 (FORWARD链,可以做路由)
1.iptables -A FORWARD -s 10.0.0.1/24 -j ACCEPT
允许10.0.0.1/24网段的数据包通过本机被转发出去
2.iptables -A FORWARD -d 10.0.0.1/24 -j ACCEPT
允许外网的数据包通过本机转发给10.0.0.1/24网段的数据包
echo 1 > /proc/sys/net/ipv4/ip_forward 临时打开内核转发开关
vi /etc/sysctl.conf ---> net.ipv4.ip_forward = 1 永久打开内核转发开关
九。地址转换
1.iptables -t nat -L -n 查看net表
2.iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -j SNAT --to-source 192.168.0.254
将客户机ip转换成本服务器的ip地址(例如本机作为一个局域网出外网的网关时(代理上网))
3.iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -j MASQUERADE
如果网关是动态ip时则可以伪装 将局域网的ip伪装成互联网ip
内网pc--->iptables snat----->互联网
4.iptables -t nat -A PREROUTING -d 10.0.0.1 -p tcp -dport 80 -j DNAT --to-destination 192.168.0.254
外网访问内网www服务器实际上是访问iptables nat 然后由iptables nat将地址转换为www服务器的ip以保护www服务器的安全
外网--->iptables dnat---->内网www服务器



梦回大唐 发表于 2012-3-29 15:22:52

{:7_155:}

jom258 发表于 2012-4-1 23:13:39

{:1_1:} 学习哈。。 谢谢。。

jll421740865 发表于 2016-11-24 08:38:21

让虚拟机和主机网络互通 怎么配置IP和网关。
页: [1]
查看完整版本: iptables应用