检查机目标机器 httpd 服务
/etc/init.d/httpd status

=================================================================================================

Netfilter是Linux网络层 IP数据包处理模块。

【Chain】【Hook point】 ,数据包在 Netfilter 的挂载点 (PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING)

【iptables】

Filter 表

NAT 表

Mangle 表

Raw 表

iptables 规则

数据包访问控制 ACCEPT 、DROP 、REJECT

数据包改写 SNAT DNAT

信息记录 LOG

规则一 对所有地址开放本机的 tcp ( 80 22 10~21 )端口访问。

iptables -I INPUT -p tcp --dport  -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp --dport 10:21 -j ACCEPT
 

规则二 允许对所有地址开放本机的 ICMP 协议数据包访问。

iptables -I INPUT -p icmp -j ACCEPT

规则三 其他未被允许端口 禁止访问

iptables -A INPUT -j REJECT

解决思路:

【查看本机 端口开放情况】netstat -lntp

【列出已有规则】iptables -L

【清空已有规则】iptables -F

【客户机验证服务器 iptables规则】nmap -sS -p 0-1000 服务器IP地址

iptables -D INPUT -p tcp --dport  -j ACCEPT
iptables -I INPUT -p tcp --dport -j REJECT

【本机无法访问本机】环回地址 lo

iptables -I INPUT -i lo -j ACCEPT

【本机无法访问 其他主机】ESTABLISHED,RELATED       建立连接,FTP连接状态

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

【只允许某台主机访问本机的 httpd 】

iptables -D INPUT -p tcp --dport  -j ACCEPT
iptables -I INPUT -p tcp -s 某台主机 --dport -j ACCEPT

======================================================

ftp连接默认是【被动模式 passive on 】

【配置vsftpd服务支持主动模式】sudo vi /etc/vsftpd/vsftpd.conf

port_enable=yes

connect_from_port_20=YES【启动 vsftpd 】/etc/init.d/vsftpd restart

【匿名用户】anonymous

【切换主动模式命令】 passive

【主动模式 关联 iptables 规则】

iptables -I INPUT -p tcp --dport  -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT

iptables -I INPUT -p icmp -j ACCEPT
iptables -A INPUT -j REJECT

【被动模式 关联 iptables 规则】

iptables -I INPUT -p tcp --dport  -j ACCEPT
iptables -I INPUT -p tcp --dport 50000:60000 -j ACCEPT
sudo vi /etc/vsftpd/vsftpd.conf pasv_min_port=
pasv_max_port=

【被动模式  】

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -p tcp --dport -j ACCEPT # 临时
modprobe nf_conntrack_ftp
# 开机启动
sudo vi /etc/sysconfig/iptables-config
IPTABLES_MODULES="nf_conntrack_ftp"

=================================

需求  员工在公司内部 10.10.155.0/24 10.10.188.0/24 能访问服务器上任何服务

需求  员工出差 外网拨号给 VPN服务器  => 连接内网FTP服务器   、SAMBA NFS SSH

需求  公司有一个门户网站需要允许  公网访问

iptables -F
iptables -I INPUT -i lo -j ACCEPT
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -s 10.10.155.0/ -j ACCEPT
iptables -A INPUT -s 10.10.188.0/ -j ACCEPT
iptables -A INPUT -s 本机./ -j ACCEPT iptables -A INPUT -p tcp --dport -j ACCEPT
iptables -A INPUT -p tcp --dport -j ACCEPT
iptables -I INPUT -p icmp -j ACCEPT iptables -A INPUT -j REJECT

【保存到配置文件】/etc/sysconfig/iptables

/etc/init.d/iptables save

【开机启动】chkconfig iptables on

【验证开启 2345 on】chkconfig --list | grep iptables

一般允许外网访问的服务

网站 www     http    /tcp
https /tcp 邮件 mail
smtp /tcp
smtps /tcp
pop3 /tcp
pop3s /tcp
imap /tcp

一般不允许外网访问的服务

文件服务器

NFS        /udp
SAMBA ,,/tcp /tcp
FTP /TCP /tcp 远程管理 SSH /tcp
数据库 MYSQL /tcp
ORACLE /tcp

【配置规则基本思路】

ACCEPT 的规则  ① 允许本地访问  ②允许已经监听状态数据包通过 ③允许规则中允许的数据包(SSH要开放)

DENY规则     拒绝不允许的数据包

=================================

【NAT Server】

sudo vi /etc/sysctl.conf
net.ipv4.ip_forward = sysctl -p
sysctl -a|grep ip_forward iptables -t nat -A POSTROUTING -s 10.10.177.0/ -j SNAT --to 10.10.188.232

【客户机默认网关设置】

netstat -rn

sudo vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=blahblah
GATEWAY=10.10.177.232 --------------------------------
或者
route add 0.0.0.0 gw 10.10.177.232

【客户机】iptables -F

【服务器】curl http://10.10.177.233

【NAT Server】

iptables -t nat -A PREROUTING -d 10.10.188.232 -p tcp --dport  -j DNAT --to 10.10.177.233:

================================================

防止 CC 攻击

connlimit 模块,限制并发连接数 100 个

iptables -I INPUT -p tcp --syn --dport  -m connlimit --connlimit-above  -j REJECT

limit 模块   限制流量 限制速度  ,比如 icmp 协议,,ping 可达 10个包之后就 ACCEPT

iptables -A INPUT -p icmp -m limit --limit /m --limit-burst  -j ACCEPT
iptables -A INPUT -p icmp -j DROP

iptables 防火墙日常的更多相关文章

  1. linux 的iptables防火墙

    .a文件就是*.o文件的集合, 是object文件的归档文件, 所以, 用nm -A  ???.a看到的 symbolic符合名称都是 相应的,  包含的  .o文件.... linux 2.4内核中 ...

  2. Iptables防火墙规则使用梳理

    iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤.封包重定向和网络地址转换(NAT)等功能 ...

  3. Iptables防火墙规则使用

    iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤.封包重定向和网络地址转换(NAT)等功能 ...

  4. CentOS系统配置 iptables防火墙

    阿里云CentOS系统配置iptables防火墙   虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FO ...

  5. 关闭SELinux和iptables防火墙

    1.关闭SELinux: 编辑SELinux配置文件: [root@Redis selinux]# vim /etc/selinux/config 修改SELINUX配置项为disable SELIN ...

  6. CentOS 7.0,启用iptables防火墙

    CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...

  7. 编译内核实现iptables防火墙layer7应用层过滤 (三)

    在前面的两篇文章中我们主要讲解了Linux防火墙iptables的原理及配置规则,想博友们也都知道iptables防火墙是工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙.以 ...

  8. [CentOs7]iptables防火墙安装与设置

    摘要 CentOS 7.0默认使用的是firewall作为防火墙,如果改为iptables防火墙,如何操作? 关闭firewall: systemctl stop firewalld.service ...

  9. iptables防火墙作为基本需求的配置

    企业中使用iptables防火墙:(一般不要在命令中输入规则) # Firewall configuration written by system-config-firewall# Manual c ...

随机推荐

  1. centos7安装docker并设置开机自启以及常用命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  2. python3 haproxy配置文件操作练习

    哈哈 老规矩 先来一个NLP第六条:咳咳! 六,重复旧的做法,只会得到旧的结果   做法有不同,结果才会有不同. 如果,你的事没有结果,改变你的做法.任何新的做法,都比旧的多一份成功的机会. 想明天比 ...

  3. centos7的内核区别

    最近重新搭建环境准备测试一些东西,在网上随意下载了一个镜像,名字叫做:CentOS-7-i386-Everything-1810 下载完之后开始做实验安装软件的时候发现一直报错:[Errno 14] ...

  4. R语言学习——图形初阶之散点图

    使用R内置的数据框mtcars,绘制车身重量与每加仑汽油行驶的英里数的散点图,要求横轴为车身重量(wt),纵轴为每加仑汽油行驶的英里数(mpg),并添加最优拟合曲线.标题,输出为pdf文件.代码实现如 ...

  5. Mistwald zoj 3497

    链接 [https://vjudge.net/contest/294259#problem/K] 题意 就是有个m*n矩阵 出发(1,1) 出口(m,n) 然后给出每个点能到大的四个位置 而且一旦到达 ...

  6. linux定时备份学习笔记

    1.iterm2链接远程中文乱码 shh端vi ~/.bash_profile export LC_CTYPE=en_US.UTF-8 source ~/.bash_profile   2.WARNI ...

  7. mysql中explain的type的解释

    type -- 连接类型 type意味着类型,这里的type官方全称是“join type”,意思是“连接类型”,这样很容易给人一种错觉觉得必须需要俩个表以上才有连接类型.事实上这里的连接类型并非字面 ...

  8. Element类型和HTML元素获取

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  9. Java 写 Log

    . 一个最基本的例子 使用Logging框架写Log基本上就三个步骤 引入loggerg类和logger工厂类 声明logger 记录日志 下面看一个例子 //1. 引入slf4j接口的Logger和 ...

  10. elastic的gc相关

    https://www.jianshu.com/p/1f450826f62e   gc原理介绍 相关优化 https://zhaoyanblog.com/archives/319.html 问题 ht ...