防火墙 RHEL6 操作系统防火墙服务iptables

防火墙RHEL6操作系统防火墙服务iptables
iptables的组成:内核态:集成在内核里的功能     
                 用户态:安装服务的软件包后提供的管理命令

[root @ web103~] #rpm -q iptables
iptables-1.4.7-16.el6.x86_64

] #service iptables start | status | stop

] #chkconfig iptables on

] #iptables
/ sbin / iptables
[root @ web103~] #man iptables

iptables命令的功能:查看/修改/删除/添加规则

iptables命令格式:
] #iptables -t表名管理选项链名匹配规则-j处理动作
 表名(iptables服务默认有4张表,有各自的功能)
filter table功能对到达防火墙服务器的ip包做过滤
nat表功能对到达防火墙服务器的ip包中的源ip地址或目标ip地址或者端口做转换
mangle表功能对到达防火墙服务器的ip打标记
raw表功能对到达防火墙服务器的ip包做状态跟踪


iptables服务的功能:
功能表
ip包过滤filter
网络地址转换nat
对ip包打标记mangle
做状态跟踪raw

ip包传输的路径(方向)(以防护墙主机位参照物)
方向链
进入防火墙主机     的INPUT
从防火墙本机出去OUTPUT经过防火墙主机
的FORWARD
路由前PREROUTING
路由后POSTROUTING

管理选项-F清空规则
        -L显示规则列表信息
        -n以数字的方式显示ip地址和端口 -
line-numbers给规则加行号显示
        -A添加新规则
        -I行号插入信息规则 
        -P设置链默认规则(ACCEPT / DROP)
        -D行号删除规则
*把防火墙服务启动后默认所有表中所有链的默认规则放行ACCEPT
处理动作(功能是决定如何处理与条件匹配的ip包的)
放行ACCEPT
丢弃DROP (没有任何提示)
拒绝REJECT(给提示信息)
SNAT源地址 
DNAT


查看指定表中有哪些链?
iptables -t表-L

] #iptables -t filter -L
] #iptables -t nat -L
] #iptables -t mangle -L
] #iptables -t raw -L

查看表中指定链的所有规则并给规则加编号
] #iptables -t filter -nL INPUT - line-numbers

查看链中规则是显示行号
] #iptables -t filter -nL --line-numbers

删除表中指定链的某1条规则 
]
#iptables -t filter -D INPUT 2 ] #iptables -t filter -nL --line-numbers

删除表中指定链的所有规则 
] #iptables -t filter -F INPUT  

删除表中所有链的规则
] #iptables -t filter -F

让设置永久生效
] #service iptables save
] #cat / etc / sysconfig / iptables //保存到的文件


修改链的默认规则(ACCEPT或丢弃DROP)
] #iptables -t filter -P INPUT DROP
] #iptables -t filter -L INPUT

匹配条件选项   
-p协议udp tcp
 
--sport源端口号
- 目标目标端口 -
源/ -s源地址 -
目的地/ -d目标地址


主机型防火墙(自己保护自己)
] #iptables -t filter -P INPUT DROP

] #iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT

] #iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT

] #iptables -t filter -Ln INPUT --line-numbers
] #service iptables save

] #iptables -t filter -I INPUT 1 --source 192.168.4.104 -p tcp --dport 22 -j DROP

] #iptables -t filter -Ln INPUT --line-numbers

] #iptables -t filter -I INPUT 1 --source 192.168.4.254 -p tcp --dport 22 -j ACCEPT

]#iptables  -t  filter   -Ln  INPUT  --line-numbers
]#iptables  -t  filter   -D  INPUT  2
]#iptables  -t  filter   -Ln  INPUT  --line-numbers
]#iptables  -t  filter   -D  INPUT  2
]#service  iptables   save

]#iptables  -t  filter  -A  INPUT    -p  icmp   --icmp-type   echo-reply  -j  ACCEPT

在108主机上设置如下防火墙规则。并在客户端测试。
允许所有主机访问本机的网站服务,只允许从254主机连接本机的ssh服务,可以ping其他主机,其他主机不可以ping 自己。INPUT链默认策略是DROP.

108:
]#service   iptables  start ; chkconfig  iptables  on
]#iptables  -t  filter   -nL  --line-numbers
]#iptables  -t  filter   -F
]#service   iptables  save

]#iptables  -t  filter  -P INPUT  DROP

]#iptables  -t  filter  -A INPUT -s 192.168.4.254  -p  tcp  --dport 22  -j ACCEPT 

]#iptables  -t  filter  -A INPUT  -p  tcp  --dport  80  -j ACCEPT

]#iptables  -t  filter  -A INPUT  -p  icmp  --icmp-type   echo-reply  -j  ACCEPT

]#service   iptables  save

]#iptables  -t  filter   -nL  --line-numbers
++++++++++++++++++++++++++++++++++++++++
网络型防火墙  (架设在2个网络之间的服务器,提供防火墙服务。保护内网网络)

iptables 103:
#eth0  192.168.4.103
#eth1  192.168.2.103
#sed -i  '7s/0/1/'  /etc/sysctl.conf
#sysctl  -p
]#iptables  -t  filter  -P  INPUT  ACCEPT
]#iptables    -F
]#service  iptables save

host250 :
ifdown  eth0
eth1   192.168.2.250
route  add  default  gw  192.168.2.103

host104
eth0   192.168.4.104
route  add  default  gw  192.168.4.103


host250 :  ping   -c   2  192.168.4.104
host104 :  ping   -c   2  192.168.2.250

103 编写防火墙规则
]#iptables  -t  filter   -P  FORWARD   DROP
 
]#iptables  -t  filter   -A  FORWARD   -p  tcp  --dport 22  -j  ACCEPT
]#iptables  -t  filter   -A  FORWARD   -p  tcp  --sport 22  -j  ACCEPT

]#iptables  -t  filter   -A  FORWARD   -p  tcp  --dport 80  -j  ACCEPT
]#iptables  -t  filter   -A  FORWARD   -p  tcp  --sport 80  -j  ACCEPT


host105
eth0  192.168.4.105
route  add  default  gw   192.168.4.103
yum  -y  install  elinks  
elinks  --dump  http://192.168.2.250/test.html

iptables 103 :   不允许105主机访问  250主机上的web服务
]# iptables -nL FORWARD  --line-numbers

]# iptables  -t  filter   -I  FORWARD  3   -s 192.168.4.105  -p  tcp  --dport   80  -j  DROP

+++++++++++++++++++++++++++++++++++++
]#iptables  -F
iptables  -t  filter  -P  FORWARD  ACCEPT
service  iptables  save

nat表 (转换源地址   转换目标地址) 

转换源地址:让内网所有主机共享一个公网ip地址上网

host250  #yum  -y  install  httpd 
               # echo   web250  > /var/www/html/test.html
               #service  httpd  start  ;chkconfig  httpd  on
               tail   -1   /etc/httpd/log/access.log


iptables103 
//允许192.168.4.0/24网段的所有主机上网。(思考:但 不允许主机192.168.4.105上网)

#iptables  -t  nat   -A   POSTROUTING   -s 192.168.4.0/24  -p tcp  --dport 80   -o  eth1  -j  SNAT  --to-source  192.168.2.103

]# iptables  -t  nat   -nL   POSTROUTING  --line-numbers

]#service  iptables save


host104/105   
#route  add default  gw   192.168.4.103
# elinks  --dump  http://192.168.2.250/test.html

+++++++++++++++++++++++++++++++++++++++++++
转换目标地址,发布内网服务器。

104/105  是内网网站服务器


iptables103]#
]# service   httpd stop
]# chkconfig   httpd off

//编写转换80端口的请求规则
]# iptables  -t  nat   -A  PREROUTING    
-i  eth1   -d  192.168.2.103      -p  tcp   --dport 80   
-j  DNAT  --to-destination   192.168.4.104

]# iptables  -t  nat   -nL   PREROUTING  --line-numbers

]#service  iptables save
思考:编写转换22222端口的请求给192.168.4.104 主机的规则 

]#iptables  -t  nat  -A  PREROUTING  -i eth1  -d  192.168.2.103  -p  tcp   --dport  22222  -j  DNAT  --to-destination  192.168.4.104

]#service  iptables save

host250] #elinks --dump http://192.168.2.103/test.html

host250] #ssh -p 22222 192.168.2.103 //可以连接到104主机

没有更多推荐了,返回首页