-- 查找所有规则
iptables -L INPUT --line-numbers

-- 删除一条规则
iptables -D INPUT 11 (注意,这个11是行号,是iptables -L INPUT --line-numbers 所打印出来的行号)

限制访问:
iptables -I INPUT -p tcp --dport -j DROP
容许本机访问:
iptables -I INPUT -s 127.0.0.1 -j ACCEPT
iptables -I INPUT -s .x.x.x -j ACCEPT

查看端口情况
1.netstat -ntpl
2.iptables -F 清除预设表filter中的所有规则链的规则
3.iptables -X 清除预设表filter中使用者自定链中的规则
4.iptables -L -n 查看本机关于IPTABLES的设置情况  【远程连接规则将不能使用,注意】 
  /etc/init.d/iptables status
5./etc/rc.d/init.d/iptables save
6./etc/rc.d/init.d/iptables restart

初始化
7. ACCEPT/DROP
iptables -P INPUT DROP 
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
上面的意思是,当超出了IPTABLES里filter表里的两个链规则(INPUT,FORWARD)时,不在这两个规则里的数据包怎么处理呢,那就是DROP(放弃).应该说这样配置是很安全的.我们要控制流入数据包
而对于OUTPUT链,也就是流出的包我们不用做太多限制,而是采取 ACCEPT,也就是说,不在着个规则里的包怎么办呢,那就是通过.
可以看出INPUT,FORWARD两个链采用的是允许什么包通过,而OUTPUT链采用的是不允许什么包通过.
这样设置还是挺合理的,当然你也可以三个链都DROP,但这样做我认为是没有必要的,而且要写的规则就会增加.但如果你只想要有限的几个规则是,如只做WEB服务器.还是推荐三个链都是DROP.
注:如果你是远程SSH登陆的话,当你输入第一个命令回车的时候就应该掉了.因为你没有设置任何规则.
重复5,6步骤,查看结果 iptables -L -n

8.添加规则
eg. ssh端口 
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT 
(注:这个规则,如果你把OUTPUT 设置成DROP的就要写上这一部,好多人都是望了写这一部规则导致,始终无法SSH.在远程一下,是不是好了.
其他的端口也一样,如果开启了web服务器,OUTPUT设置成DROP的话,同样也要添加一条链
重复5,6步骤,查看结果 iptables -L -n
web
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

如下:

只允许指定的ip访问本机的指定端口50070:

例如允许的的ip:192.168.1.123,192.168.1.124, 192.168.1.100,其他ip都禁止访问。

切换到root用户

iptables -F#清除预设表filter中的所有规则链的规则

1、在tcp协议中,禁止所有的ip访问本机的50070端口。

iptables -I INPUT -p tcp --dport 50070 -j DROP

2、允许192.168.1.123访问本机的50070端口

iptables -I INPUT -s 192.168.1.123 -p tcp --dport 50070 -j ACCEPT

3、允许192.168.1.124访问本机的50070端口

iptables -I INPUT -s 192.168.1.124 -p tcp --dport 50070 -j ACCEPT

4、允许192.168.1.100访问本机的50070端口

iptables -I INPUT -s 192.168.1.100 -p tcp --dport 50070 -j ACCEPT

注意以上4条命令的顺序不能错。

以上是临时设置。

5.然后保存iptables

# service iptables save

6.重启防火墙

#service iptables restart

7.在此说一下关于启动和关闭防火墙的命令:

1) 重启后生效

开启: chkconfig iptables on

关闭: chkconfig iptables off

2) 即时生效,重启后失效

开启: service iptables start

关闭: service iptables stop

说明:

1、如果对某一网段做限制可以直接执行如下命令:

2-3-4步可直接使用如下命令代替:

iptables -I INPUT-s 192.168.1.0/24 -p tcp --dport 50070 -j ACCEPT

2、对其他端口做限制,直接修改为对应端口后依次执行 1-7步操作

---------------------
作者:ZhaoYingChao88
来源:CSDN
原文:https://blog.csdn.net/zyc88888/article/details/73274456/
版权声明:本文为博主原创文章,转载请附上博文链接!

iptable 限制ip访问的更多相关文章

  1. Linux - iptable 限制 IP 访问端口

    iptable 设置iptables 限制特定IP 访问: -A INPUT -s 172.16.2.20 -p tcp -j ACCEPT-A INPUT -s -p tcp -j ACCEPT 设 ...

  2. 通过 floating IP 访问 VIP - 每天5分钟玩转 OpenStack(126)

    前面我们是直接用 curl 测试 VIP,在更为真实的场景中通常会使用 floating IP 访问 VIP. 下面我们给 VIP 关联一个 floating IP,再进行测试. 访问 Project ...

  3. 简单爬虫,突破IP访问限制和复杂验证码,小总结

    简单爬虫,突破复杂验证码和IP访问限制 文章地址:http://www.cnblogs.com/likeli/p/4730709.html   好吧,看题目就知道我是要写一个爬虫,这个爬虫的目标网站有 ...

  4. server2003中看不到网上邻居内容,其他电脑无法通过计算机名和IP访问本计算机(但网上邻居中可访问到)

    现象1:server2003中看不到网上邻居内容,查看工作组计算机看到的是空列表, 现象2:其他电脑无法通过计算机名和IP访问本计算机(但网上邻居中可访问到)   访问提示:--Windows 200 ...

  5. Nginx禁止ip访问或IP网段访问方法

    Nginx禁止ip访问可以防止指定IP访问我们的网站,本例子可以实现是防止单IP访问或IP网段访问了,非常的有用我们一起来看看吧. 常用的linux做法 iptables参考规则  代码如下 复制代码 ...

  6. C# 站点IP访问频率限制 针对单个站点

    0x00 前言 写网站的时候,或多或少会遇到,登录,注册等操作,有时候,为了防止别人批量进行操作,不得不做出一些限制IP的操作(当前也可以用于限制某个账号的密码校验等). 这样的简单限制,我们又不想对 ...

  7. 禁止北京地区IP访问站点

    <script type="text/javascript" src="http://counter.sina.com.cn/ip" charset=&q ...

  8. Nginx 支持 CI 框架的配置并禁止使用 ip 访问

    #CIserver {        listen      80;        server_name www.ci.com;        index       index.php index ...

  9. IIS限制ip访问

    1.禁止IP访问 http://jingyan.baidu.com/article/22fe7ced0462633002617f39.html 2.限制IP访问频率 http://q.cnblogs. ...

随机推荐

  1. python 取整的两种方法

    问题简介: 要把一个浮点数(float)整数部分提取出来.比如把“2.1”变成“2”的这一过程:现在我们给这个过程起一个名字叫“取整”.那么它 在python中大致可以有两种写法 写法1)类型转换: ...

  2. Mysql show processlist 排查问题

    一.命令概述: mysql show full processlist 用来查看当前线程处理情况,具体信息请参考官网:https://dev.mysql.com/doc/refman/5.7/en/s ...

  3. 由初始化线程池引发的NoClassDefFoundError 异常分析

    今天说的异常是一个很不常见的异常,至少我不经常见到这个异常.首先先看下NoClassDefFoundError官方定义 : Java Virtual Machine is not able to fi ...

  4. linux(centos6)搭建ftp服务器 -摘自网络

    前提 ssh服务已经开启,关闭防火墙,主机和虚拟机能ping通 查看ssh和防火墙的状态 service sshd status service iptables status 开启ssh服务 ser ...

  5. Atitit vue.js 把ajax数据 绑定到form表单

    Atitit vue.js 把ajax数据 绑定到form表单 1.1. 使用场景:主要应用在编辑与提交场合..1 1.2. 绑定数据到form控件,可以使用jquery,不过vue.js更加简单1 ...

  6. [svc]java初步

    J2EE.J2SE 和 J2ME 三者的区别有哪些? J2SE, 主要是桌面软件开发,包括swing 等.是后面2个的基础,但是我们不用它做桌面开发.只学习语法. J2EE,网站开发,servlet. ...

  7. 错误状态码URL重定向

    server { listen 80; server_name www.espressos.com; location / { root /data0/www/bbs; index index.htm ...

  8. react-scripts的css modules

    用create-react-app创建的项目基于react-scripts内建支持css modules,需要把css文件名改成filename.module.css,导入方式需要改成: import ...

  9. 【Linux技术】BusyBox详解

    BusyBox 是很多标准 Linux® 工具的一个单个可执行实现.BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大.更复杂的工具,例如 grep.find.moun ...

  10. maven profile 多环境

    <profiles> <profile> <!-- 本地开发环境 --> <id>dev</id> <properties> & ...