实验环境:

KVM 虚拟机 centos6.7

test1:192.168.124.87  test2:192.168.124.94

场景一:

要求:1.对所有地址开放本机的tcp(80、22、10-21)端口的访问。

2.对所有主机开放本机的基于ICMP协议的数据包访问

   3.其他未被访问 的端口禁止访问

答:2表达的意思是禁止ping

步骤:

(1)查看iptables 版本

[root@test1 ~]# iptables -v
iptables v1.4.7: no command specified

(2)查看test1机器的端口开放情况

[root@test1 ~]# netstat -luntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1141/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1220/master
tcp 0 0 :::22 :::* LISTEN 1141/sshd
tcp 0 0 ::1:25 :::* LISTEN 1220/master
udp 0 0 0.0.0.0:68 0.0.0.0:* 1368/dhclient

(3)查看iptables之前设置的规则

[root@test1 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/ 0.0.0.0/ state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/ 0.0.0.0/
ACCEPT all -- 0.0.0.0/ 0.0.0.0/
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ state NEW tcp dpt:
REJECT all -- 0.0.0.0/ 0.0.0.0/ reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/ 0.0.0.0/ reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT)
target prot opt source destination

加n表示源地址和目的地址用数字的形式表示

(4)清除之前设置过的规则

[root@test1 ~]# iptables -F
[root@test1 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination Chain FORWARD (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination

(5)设置好开放的端口

[root@test1 ~]# iptables -I INPUT -p tcp --dport  -j ACCEPT
[root@test1 ~]# iptables -I INPUT -p tcp --dport -j ACCEPT
[root@test1 ~]# iptables -I INPUT -p tcp --dport : -j ACCEPT
[root@test1 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpts::
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpt:
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpt: Chain FORWARD (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination

-I 插入规则 -p 指定协议   --dport 目的端口 -j  制定动作

(6)允许icmp访问

iptables -I INPUT -p icmp -j ACCEPT
[root@test1 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT icmp -- 0.0.0.0/ 0.0.0.0/
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpts::
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpt:
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpt: Chain FORWARD (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination

(7)设置拒绝规则

iptables -A INPUT -j REJECT
root@test1 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT icmp -- 0.0.0.0/ 0.0.0.0/
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpts::
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpt:
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpt:
REJECT all -- 0.0.0.0/ 0.0.0.0/ reject-with icmp-port-unreachable Chain FORWARD (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination

bingo,至此结束。。。

如果想要删除某条规则:

[root@test1 ~]# iptables -I INPUT -p tcp --dport  -j ACCEPT

-D 表示删除

拓展一下,设置一下,不允许其他机器ping本机

(1)设置规则

[root@test1 ~]# iptables -I INPUT -p icmp -j REJECT
[root@test1 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
REJECT icmp -- 0.0.0.0/ 0.0.0.0/ reject-with icmp-port-unreachable Chain FORWARD (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination

(2)另外一台机子测试

[root@test2 ~]# ping 192.168.124.87
PING 192.168.124.87 (192.168.124.87) () bytes of data.
From 192.168.124.87 icmp_seq= Destination Port Unreachable
From 192.168.124.87 icmp_seq= Destination Port Unreachable
From 192.168.124.87 icmp_seq= Destination Port Unreachable
From 192.168.124.87 icmp_seq= Destination Port Unreachable
From 192.168.124.87 icmp_seq= Destination Port Unreachable

Iptalbes练习题(一)的更多相关文章

  1. Iptalbes练习题(三)

    场景需求: (1)员工在公司内部(192.168.124.0/24 ,192.168.122.0/24 )能访问服务器上任何服务 (2)当员工出差,通过VPN连接到公司 (3)公司门户网站允许公网访问 ...

  2. Iptalbes练习题(二)

    接着上节,上节课,基本功能设置后,现在我们telnet本机一下,发现问题: [root@test1 ~]# telnet Trying 127.0.0.1... telnet: connect to ...

  3. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  4. shell 脚本之 shell 练习题汇总

    整理了一些 shell 相关的练习题,记录到这里. 1. 请按照这样的日期格式 xxxx-xx-xx 每日生成一个文件,例如:今天生成的文件为 2013-09-23.log, 并且把磁盘的使用情况写到 ...

  5. MySQL练习题

    MySQL练习题 一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 3.查询平均成绩大于60分的同学的学号和平均成 ...

  6. MySQL练习题参考答案

    MySQL练习题参考答案 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 思路: 获取所有有生物课程的人(学号,成绩) - 临时表 获取所有有物理课程的人(学号,成绩) - 临时表 根据[ ...

  7. mysql练习题-查询同时参加计算机和英语考试的学生的信息-遁地龙卷风

    (-1)写在前面 文章参考http://blog.sina.com.cn/willcaty. 针对其中的一道练习题想出两种其他的答案,希望网友给出更多回答. (0) 基础数据 student表 +-- ...

  8. 【UOJ#228】基础数据结构练习题 线段树

    #228. 基础数据结构练习题 题目链接:http://uoj.ac/problem/228 Solution 这题由于有区间+操作,所以和花神还是不一样的. 花神那道题,我们可以考虑每个数最多开根几 ...

  9. 【Java EE 学习 28 下】【Oracle面试题2道】【Oracle练习题3道】

    一.已知程序和数据 create table test1 (id int primary key, name ), money int); ,); ,); ,); ,); 要求根据下图写出相应的sql ...

随机推荐

  1. HDOJ 1534 Schedule Problem 差分约束

    差分约数: 求满足不等式条件的尽量小的值---->求最长路---->a-b>=c----> b->a (c) Schedule Problem Time Limit: 2 ...

  2. Oracle 左外连接的一些測试

    为了更加深入左外连接,我们做一些測试,外连接的写法有几种形式,我们能够通过10053跟踪到终于SQL转换的形式. --初始化数据 create table A (   id number,   age ...

  3. JavaScript 取数组最值的方法

    1.用Math的max,min函数 var array = [10,2,3,4,5,6,30,8,9]; Math.max.apply(null,array); Math.min.apply(null ...

  4. TabControl

    1. ItemsSource="{Binding GroupList}" SelectedItem="{Binding SelectedGroupItem,Mode=Tw ...

  5. 安装Linux centos 时编辑选项

    将第上一步选择编辑之后出来的文字修改为:>vmlinuz initrd=initrd.img linux dd quiet 这里注意了:网上很多文章都说这一步改成“>vmlinuz ini ...

  6. Vue-cli + Express 构建的SPA Blog(前后分离)

    代码地址如下:http://www.demodashi.com/demo/12526.html 为什么学习并使用Vue 1.发展趋势 最近这几年的前端圈子,由于戏台一般精彩纷呈,从 MVC 到 MVV ...

  7. 如何在 Linux 中找到你的 公网IP 地址

    每个网站都有一个独有的公开 IP 地址,可供任何人从任何地方访问. 互联网协议Internet Protocol(IP)不需要介绍 —— 我们每天都在使用它.即使你不直接使用它,当你在浏览器上输入 w ...

  8. mngoDB 常用语法

    http://topmanopensource.iteye.com/blog/1278812### 连接写法:[IP地址:端口号] mongo 192.168.1.161:27017; show db ...

  9. 隐藏ion-nav-back-button的文字

    <ion-nav-bar class="bar-positive"> <ion-nav-back-button> </ion-nav-back-but ...

  10. IAR模板--怎样在IARproject中创建和使用模板

    怎样在IARproject中创建和使用模板 1.编辑和使用模板的方式: 路径为:Edit -> Code Templates -> Edit Templates  例如以下图: water ...