Linux系统下防火墙的基本配置(二)

本文发布时间: 2019-Mar-21
接防火墙配置上篇 Linux系统下防火墙的基本配置显式扩展:-m limit --limit 3/min 速率 --limit-burst 30 峰值用法示例:[root@localhost ~]# iptables -A INPUT -p icmp -m limit --limit 5/minute --limit-burst 8 -j ACCEPT[root@localhost ~]# iptables -A OUTPUT -p icmp -m limit --limit 5/minute --limit-burst 8 -j ACCEPT通过-m limit模块实现远程登录控制[root@localhost ~]# iptables -A INPUT -d 192.168.0.7 -p tcp --dport 22 -m state --state NEW -m limit --limit 2/minute --limit-burst 2 -j ACCEPT[root@localhost ~]# iptables -A INPUT -d 192.168.0.7 -p tcp --dport 22 -m state --state ESTABLISHED -j ACCEPT[root@localhost ~]# iptables -A INPUT -d 192.168.0.7 -p tcp --dport 22 -j DROP-m connlimit 限定最大连接数(每个IP) [!] --connlimit-above n 多于n个表示满足条件,若条件为=<n,则前面加!-m iprage IP范围 --src-range ip-ip --dst-range ip-ip例如: -m iprange --src-range 172.16.100.1-172.16.100.100-m mac 限定源mac地址例如: --mac-source XX:XX:XX:XX:XX:XX-m string 做字符串匹配 --algo {bm|kmp} 指定匹配算法 --string "PATTERN" 指定匹配模式用法示例:[root@localhost ~]# iptables -I INPUT 1 -d 192.168.0.6 -p tcp --dport 80 -m string --algo kmp --string "sex" -j DROP[root@localhost ~]# iptables -I OUTPUT 1 -s 192.168.0.6 -p tcp --dport 80 -m string --algo kmp --string "sex" -j DROP-m recent --name 创建存放IP的列表 --set 将符合条件的地址添加到列表中 --rcheck --update 重新设定禁锢时间 --remove 从列表中释放 --seconds seconds 指定禁锢时间 --hitcount 某种行为达到几次,添加至指定列表 --update 是指每次建立连接都更新列表 --seconds必须与--rcheck或者--update同时使用 --hitcount必须与--rcheck或者--update同时使用 -j TARGET ACCEPT 接受 DROP 丢弃 REJECT 拒绝 可以跟选项表明拒绝原因 REDIRECT 重定向(端口) DNAT 目标地址转换 SNAT 源地址转换 MASQUERADE 地址伪装 LOG 记录日志 RETURN 从自定义链返回到主链保存规则:service iptables save 使用系统自带的脚本保存,保存位置一般为/etc/sysconfig/iptables没有脚本的情况下保存:iptables-save > /etc/sysconfig/iptables.3(自己定义,可以保存任何位置)iptables-restore < /etc/sysconfig/iptables.3(从哪一个保存规则的文件中恢复)自定义链的用法:[root@localhost ~]# iptables -N come_in 创建自定义链iptables -A clean_in -d 172.16.255.255 -p icmp -j DROP 向自定义链中添加规则,同向系统链中添加规则一样iptables -A INPUT -d 172.16.100.1 -j clean_in 调用自定义链iptables -A clean_in -d 172.16.100.1 -j RETURN 返回主链源地址和目标地址转换:VMnet0(桥接):实现虚拟机与外网通信,虚拟机与虚拟机通信,虚拟机与物理机通信(直接通过虚拟交换机连接到物理网卡上)VMnet1:实现虚拟机与物理机通信,虚拟机与虚拟机通信,虚拟机不能与外网通信VMnet8:nat模式同一台虚拟机上两块网卡不能配置位于同一网段内的地址linux地址属于主机不属于网卡源地址转换:iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 172.16.3.1 将源地址为192.168.0.0网段的IP地址都转换为172.16.3.1查看:iptables -t nat -L -n -v实现NAT转换,必须打开路由转发功能查看转发功能是否打开: cat /proc/sys/net/ipv4/ip_forward,0表示关闭,1表示打开打开转发功能:echo 1 > /proc/sys/net/ipv4/ip_forward关闭转发功能:echo 0 > /proc/sys/net/ipv4/ip_forward放行到外网的80端口访问:iptables -P FORWARD DROP将默认策略设置为拒绝iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A FORWARD -d 192.168.0.0/24 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPTDNAT:打开web服务并记录日志iptables -t nat -A PREROUTING -d 1.2.3.1 -p tcp --dport 80 -j LOG --log-prefix "iptables (web) --"iptables -t nat -A PREROUTING -d 1.2.3.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.6开打FTP服务iptables -t nat -A PREROUTING -d 1.2.3.1 -p tcp --dport 21 -j DNAT --to-destination 192.168.0.7iptables -t nat -A PREROUTING -d 1.2.3.1 -p tcp -m -state --state NEW -j DNAT --to-destination 192.168.0.7iptables -t nat -A PREROUTING -d 1.2.3.1 -p tcp -m state --state RELATED,ESTABLISHED -j DNAT --to-destination 192.168.0.7如果开放FTP服务,必须开启RELATED状态开打路由转发功能iptables -P FORWARD DROP放行web服务iptables -A FORWARD -d 192.168.0.6 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A FORWARD -s 192.168.0.6 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT放行FTP服务:iptables -A FORWARD -d 192.168.0.6 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A FORWARD -s 192.168.0.6 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPTiptables -A FORWARD -m state --state RELATED -j ACCEPT本文出自 “菜鸟” 博客


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:08pm
栏目列表