扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
iptables组成:四张表+五条链+规则
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、重庆小程序开发公司、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了长葛免费建站欢迎大家使用!四张表:filter表,nat表,mangle表,raw表
五条链:INPUT OUTPUT FORWARD PREROUTING(DNAT) POSTROUTING(SNAT)
nat表:Nat表主要用于网络地址转换。根据表中的每一条规则修改网络包的IP地址。流中的包仅遍历一遍Nat表。例如,如果一个通过某个接口的包被修饰(修改了IP地址),该流中其余的包将不再遍历这个表。通常不建议在这个表中进行过滤,由NAT表支持的链称为PREROUTING 链,POSTROUTING 链和OUTPUT 链。
mangle表:这个表用于校正网络包。它用来对特殊包的包头和内容(TTL,TOS,MARK)进行标记修改。Mangle表不能用于地址伪装。支持的链包括PREROUTING链,OUTPUT链,Forward链,Input链和POSTROUTING链
filter表:如果没有定义任何规则,Filter表则被当作默认的表,并且基于它来过滤。它用来访问控制,规则匹配,过滤网络包。支持的链有INPUT 链,OUTPUT 链,FORWARD 链。
raw表:在我们想要配置之前被豁免的包时被使用。它支持PREROUTING 链和OUTPUT 链
数据包规则:
数据包访问控制:ACCEPT(接收,回复通过),REJECT(接收,回复拒绝),DROP(丢弃)
数据包改写:SNAT(源地址改写),DNAT(目标地址改写)
信息记录:LOG
-i eth0:从这块网卡流入的数据
流入一般用在INPUT和PREROUTING上
-o eth0:从这块网卡流出的数据
流出一般在OUTPUT和POSTROUTING上
**********************************************************************************************************
一、
规则1:对10.10.188.233开放本机的tcp 80,25,110端口的访问
iptables –I INPUT –i eth2–p tcp –s 10.10.188.233 –m multiport --dports 80,25,110 –j ACCEPT
规则2:对所有的地址开放本机的tcp(22:ssh,10-21(10:21))端口的访问
iptables –I INPUT –p tcp --dport 22 –j ACCEPT
iptables –I INPUT –p tcp --dport 10:21 –j ACCEPT
规则3:允许对所有的地址开放本机的基于icmp协议的数据包访问
iptables –I INPUT –p icmp –j ACCEPT
规则4:其他未被允许的端口则禁止访问
iptables –A INPUT –j REJECT(iptables –P INPUT DROP)
二、默认需要配置
规则1:允许所有通过lo网卡传来的数据包
iptables –I INPUT –i lo –j ACCEPT
规则2:允许本地主动发起请求能得到回复
iptables –I INPUT –m state --state ESTABLISHED,RELATED –j ACCEPT
三、拓展
1.设置我能ping通别人,别人不能ping通我(相反则为echo-reply)
iptables –A INPUT –p icmp –s 192.168.1.0/24 –m icmp --icmp-type echo-request –j DROP
2.限制每个客户端大并发数不超过3个(xshell终端)
iptables –A INPUT –p tcp --dport 22 –s 192.168.1.0/24 –m connlimt –connlimit-above 2 –j DROP
3.限制速度(-m limit --limit匹配速率| --burst缓冲数量)
iptables –A INPUT –d 192.168.1.63 –m limit --limit 5/s --burst 100–j ACCEPT(在100个包内不限速,超过一百个包限制每秒只传5个包)
iptables –A INPUT –d 192.168.1.63 –j DROP
例如icmp洪水***(多主机ping包占满内存)
iptables –A INPUT –d 192.168.1.63 –m icmp --icmp-type echo-request –m limit --limit 5/s –j ACCEPT(限制每秒20个包)
iptables –A INPUT –d 192.168.1.63 –m icmp --icmp-type echo-request –j DROP
********************************************************************************************
允许ftp规则模式
(主动)加入21号端口放行规则
iptables –I INPUT –p tcp --dport 21 –j ACCEPT
(被动)
1.在vsftpd服务端配置文件中加入vsftpd来访的虚拟端口范围
vim /etc/vsftpd/vsftpd.conf
#listen_port=21
#pasv_enable=YES
#pasv_min_port=50000
#pasv_max_port=60000
加入Iptables –I INPUT –p tcp --dport 50000:60000 –j ACCEPT
2.加入内核的连接追踪模块
modprobe nf_conntrack_ftp
modprobe ip_nat_ftp
查看内核模块:modprobe –l|grep ftp(lsmod | grep nat_ftp)
永久修改:IPTABLES_MODULES=”nf_conntrack_ftp ******************************************************************************************** 员工在公司内部(10.10.155.0/24)能访问服务器上的任何服务,允许所有人访问1723***端口,允许公网访问门户网站(80端口) iptables –P INPUT DROP iptables –I INPUT –p tcp –i lo –j ACCEPT iptables –I INPUT –m state --state ESTABLISHED,RELATED –j ACCEPT iptables –I INPUT –p icmp –j ACCEPT iptables –A INPUT –p tcp -s 10.10.155.0/24 –j ACCEPT iptables –A INPUT –p tcp -s 10.10.188.0/24 –j ACCEPT iptables –A INPUT –p tcp --dport 80 –j ACCEPT iptables –A INPUT –p tcp --dport 1723 –j ACCEPT ******************************************************************************************** Ip地址转换SNAT(当多台客户端访问一台web服务端时使用,源地址可为网段,需开启内核参数ip_forward) iptables –t nat –A POSTROUTING –p tcp –s 10.10.177.0/24 –j SNAT --to 10.10.188.232 Ip地址转换DNAT(当1台客户端访问多台web服务端时使用,目的地址可为网段) iptables –t nat –A PREROUTING –p tcp –d 10.10.188.232/24 --dport 80 –j DNAT --to 10.10.177.232:80
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流