冰糖樱大樱桃树苗:iptables防火墙技术要点
来源:百度文库 编辑:中财网 时间:2024/09/23 04:26:43
1. 内核要求.................................................................. 2 2. 流程图...................................................................... 2 3. 语法......................................................................... 2 4. NAT.......................................................................... 3 5. 模块的加载:........................................................... 4 6. 循环执行:............................................................... 5 7. vpn相关规则............................................................ 5 8. 脚本编写.................................................................. 5 1. 内核要求要求Linux内核在2.4以上,部分新的应用层检查功能要求在2.6内核中 2. 流程图-->PREROUTING-->[ROUTE]-->FORWARD-->POSTROUTING-->
mangle | mangle ^ mangle
nat | filter | nat
| |
| |
v |
INPUT OUTPUT
| mangle ^ mangle
| filter | nat
v ------>local--- -------> | filter其中:£ 表filter: 顾名思义,用于过滤的时候nat: 顾名思义,用于做 NAT 的时候 £ 链INPUT: 位于 filter 表,匹配目的 IP 是本机的数据包FORWARD: 位于 filter 表,匹配穿过本机的数据包,PREROUTING: 位于 nat 表,用于修改目的地址(DNAT)POSTROUTING:位于 nat 表,用于修改源地址 (SNAT) 3. 语法iptables –nL –v查看防火墙的规则iptables –nL –t nat –v 查看防火墙的NAT规则iptables –nL –vv查看连接状态信息iptables –A FORWARD 向FORWARD链后面增加一个规则iptables –I FORWARD 向FORWARD链最前面插入一个规则iptables –D FORWARD 在FORWARD链删除相应的一个规则 iptables -P INPUT DROP设置INPUT链的默认为DROPiptables –F 清空相应链中的所有规则iptables –s 192.168.x.x/xx 匹配源地址iptables –d 192.168.x.x/xx 匹配目的地址iptables –p tcp匹配tcp协议iptables –-sport匹配源端口 --dport匹配目的端口 iptables -m state --state 状态状态:NEW、RELATED、ESTABLISHED、INVALIDNEW:有别于 tcp 的 synESTABLISHED:连接态RELATED:衍生态,与 conntrack 关联(FTP)INVALID:不能被识别属于哪个连接或没有任何状态如:iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -m mac --mac-source MAC 匹配某个 MAC 地址iptables -A INPUT -p tcp -m multiports --ports 21,22,25,80,110 -j ACCEPT 多端品匹配 4. NATiptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1 .1iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to 192.168.0.15. 模块的加载: modprobe ip_tables > /dev/null 2>&1modprobe ip_conntrack > /dev/null 2>&1modprobe iptable_nat > /dev/null 2>&1modprobe ip_nat_ftp > /dev/null 2>&1modprobe ip_conntrack_ftp > /dev/null 2>&1modprobe ip_conntrack_irc > /dev/null 2>&1modprobe ip_conntrack_h323 > /dev/null 2>&1modprobe ip_nat_h323 > /dev/null 2>&1modprobe ip_conntrack_irc > /dev/null 2>&1modprobe ip_nat_irc > /dev/null 2>&1modprobe ip_conntrack_mms > /dev/null 2>&1modprobe ip_nat_mms > /dev/null 2>&1modprobe ip_conntrack_pptp > /dev/null 2>&1modprobe ip_nat_pptp > /dev/null 2>&1modprobe ip_conntrack_proto_gre > /dev/null 2>&1modprobe ip_nat_proto_gre > /dev/null 2>&1modprobe ip_conntrack_quake3 > /dev/null 2>&1modprobe ip_nat_quake3 > /dev/null 2>&1 ############################################## echo 1 > /proc/sys/net/ipv4/ip_forwardecho 1 > /proc/sys/net/ipv4/tcp_syncookiesecho 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses echo 1 >/proc/sys/net/ipv4/conf/all/rp_filter#echo 1 > /proc/sys/net/ipv4/ip_dynaddr#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcastsecho 1 > /proc/sys/net/ipv4/conf/all/log_martians6. 循环执行:如下脚本,只要在HTTP_LAN中加入IP地址,即可上网 HTTP_LAN="192.168.0.2 192.168.0.3 192.168.0.4" ################################################# ACCEPT http hosts if [ "$ACCEPT_HTTP_LAN" != "" ] ; then for LAN in ${ACCEPT_HTTP_LAN} ; do $IPTABLES -A FORWARD -p tcp -i $LAN_IFACE -s ${LAN} -m multiport --dport 80,443 -j ACCEPT echo "" echo ${LAN} Access to Externel.....ACCEPT http port [OK] done fi echo -e "\033[1;034m \n" echo "......................................................................." echo "......................................................................." echo "......................................................................." echo "" echo -e "\033[1;032m \n" 7. vpn相关规则iptables –A FORWARD –i(-o) ipsec+ 如果Linux网关上启用了VPN服务,在对VPN网络进行限制时,接口不能在eth0或ppp0上做,而是在ipsec+上做(ipsec+代表ipsec0、ipsec1……)8. 脚本编写对于防火墙脚本,最好编写一个规则脚本文件运行,如:firewall.sh 运行时输入:./firewall.sh start 停止时:./firewall.sh stop即可。如果是网关,可以把此命令加入到/etc/rc.d/rc.local启用程序中;如果是ADSL拨号网关,可以把此命令加入到ip-up程序中。
mangle | mangle ^ mangle
nat | filter | nat
| |
| |
v |
INPUT OUTPUT
| mangle ^ mangle
| filter | nat
v ------>local--- -------> | filter其中:£ 表filter: 顾名思义,用于过滤的时候nat: 顾名思义,用于做 NAT 的时候 £ 链INPUT: 位于 filter 表,匹配目的 IP 是本机的数据包FORWARD: 位于 filter 表,匹配穿过本机的数据包,PREROUTING: 位于 nat 表,用于修改目的地址(DNAT)POSTROUTING:位于 nat 表,用于修改源地址 (SNAT)
iptables
配置基于Linux平台的Netfilter-iptables防火墙
配置基于Linux平台的Netfilter-iptables防火墙
配置基于Linux平台的Netfilter-iptables防火墙
配置防火墙NetFilter/iptables 插入相应规则 编写脚本
手工电焊技术要点
锡焊技术要点
稻草青贮技术要点
防火墙技术
摩托车驾驶技术要点,求助?
正手发奔球的技术要点
周转箱的技术要点
iptables进程
学习iptables
防火墙技术怎样攻破
铣削螺弦面的主要技术要点是什么
叉车安装维修技术要点介绍
上手平击发球的技术要点
育成牛培育的技术要点是什么?
无缝钢管生产工艺的技术难点和要点
跆拳道技术中下劈的动作要点
踮球,过人的技术要点有哪些?
土钉支护的施工技术要点??
防火墙技术和VPN技术的区别