-- 查找所有规则
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. 如何更新 Visual Studio 2017 的离线安装包

    现在 Visual Studio 2017 已经不再使用原来的 iso 镜像提供离线安装包了,需要的话,可以通过命令行参数下载离线安装包,例如: vs_Enterprise.exe --layout ...

  2. Android应用中创建绑定服务使得用户可以与服务交互

    原文:http://android.eoe.cn/topic/android_sdk 一个绑定的服务是客户服务器接口上的一个服务器.一个绑定的服务允许组件(如:活动)来绑定一个服务,传送请求,接收响应 ...

  3. 基于Xilinx Zynq Z7045 SoC的CNN的视觉识别应用

    基于Xilinx Zynq Z7045 SoC的CNN的视觉识别应用 由 judyzhong 于 星期三, 08/16/2017 - 14:56 发表 作者:stark 近些年来随着科学技术的不断进步 ...

  4. 【Unity】4.1 创建组件

    分类:Unity.C#.VS2015 创建日期:2016-04-05 一.简介 组件(Component)在Unity游戏开发工作中非常重要,可以说是实现一切功能所必需的. 1.游戏对象(Game O ...

  5. # tail -f /var/log/zabbix/zabbix_agentd.log sudo: sorry, you must have a tty to run sudo

    /etc/sudoers 1)Defaults requiretty,修改为 #Defaults requiretty,表示不需要控制终端. 2)Defaults requiretty,修改为 Def ...

  6. git报错之index.lock

    当想回退到某个版本的时候,用git reset --hard commit_id,发现报错,原因是.git目录下多了个index.lock文件,可以通过rm命令删除,然后再回退 rm -f ./.gi ...

  7. python *和**的用法

    1.使用场景 *和**用在函数参数列表中 2.*作函数参数 以列表的形式提供参数 def foo(*args): for arg in args: print(arg) foo(1, 2, 3) 运行 ...

  8. SpringBoot热部署配置(基于Maven)

    热部署的意思是只要类中的代码被修改了,就能实时生效,而不用重启项目.spring-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去.原 ...

  9. input type= file 如何更改自定义的样式

    input { @include wh(24px,22px);//sass 宽高 @include pa(0,0); //绝对定位 top:0:left:0: opacity: 0; //透明度: o ...

  10. SFTP文件上传与下载(window 上传文件到linux服务器)

    一.文件上传 说明1:所谓上传window上的文件上传到linux上 说明2:上传的文件会自动放到当前的用户的家目录 1:打开SFTP的窗口 Alt+p 输入上传命令: 语法: put  path/f ...