本文共 5433 字,大约阅读时间需要 18 分钟。
防火墙 RHEL6 操作系统防火墙服务iptables
]# rpm -q iptables
iptables-1.4.7-16.el6.x86_64]# service iptables start|status|stop
]# chkconfig iptables on
]# which iptables
/sbin/iptables]# man iptables]#iptables -t 表名 管理选项 链名 匹配规则 -j 处理动作
iptables服务的功能:
功能 表
ip包过滤 filter网络地址转换 nat对ip包打标记 mangle做状态跟踪 rawip包传输的路径(方向)(以防护墙主机位参照物)
方向 链 进入防火墙主机的 INPUT从防火墙本机出去 OUTPUT经过防火墙主机的 FORWARD路由前 PREROUTING路由后 POSTROUTING管理选项 -L -F -D -A -I -P
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 丢弃REJECT 拒绝]#iptables -t filter -P INPUT DROP
]#iptables -t filter -L INPUT-p 协议 udp tcp
--sport 源端口号
--dport 目标端口--source / -s 源地址--destination / -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 -nL 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 -nL INPUT --line-numbers
]# iptables -t filter -I INPUT 1 --source 192.168.4.254 -p tcp --dport 22 -j ACCEPT
]#iptables -t filter -nL INPUT --line-numbers
]#iptables -t filter -D INPUT 2]#iptables -t filter -nL 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 savehost250 :
ifdown eth0eth1 192.168.2.250route add default gw 192.168.2.103host104
eth0 192.168.4.104route add default gw 192.168.4.103host250 : ping -c 2 192.168.4.104
host104 : ping -c 2 192.168.2.250103 编写防火墙规则
]#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 ACCEPThost105
eth0 192.168.4.105route add default gw 192.168.4.103yum -y install elinks elinks --dumpiptables 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 ACCEPTservice iptables savenat表 (转换源地址 转换目标地址)
转换源地址:让内网所有主机共享一个公网ip地址上网
host250
#yum -y install httpd #echo web250 > /var/www/html/test.html#service httpd start ;chkconfig httpd ontail -1 /etc/httpd/log/access.logiptables103
//允许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作用是,从服务器的网卡上,自动获取当前ip地址来做NAT,如此配置的话,不用指定snat的目标ip了。实现了很好的动态snat地址转换。
譬如:
iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o eth1 -j MASQUERADE
转换目标地址,发布内网服务器。
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 host250]# ssh -p 22222 192.168.2.103 //可以连接到104主机iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
//添加到网络的路由
]# route add –net 192.168.1.11 netmask 255.255.255.0 eth0]# route add –net 192.168.1.11 netmask 255.255.255.0 gw 192.168.1.1]# route add –net 192.168.1.0/24 eth1在linux下设置永久路由的方法: 在/etc/rc.local里添加上述有关命令//添加默认网关
]# route add default gw 192.168.2.1//删除路由]# route del –host 192.168.1.11 dev eth0//查看路由]# route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface192.168.19.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth10.0.0.0 192.168.19.130 0.0.0.0 UG 0 0 0 eth1注意UG (up gateway)转载于:https://blog.51cto.com/2168836/2102924