场景需求:

(1)员工在公司内部(192.168.124.0/24 ,192.168.122.0/24 )能访问服务器上任何服务

(2)当员工出差,通过VPN连接到公司

(3)公司门户网站允许公网访问

解:

(2)外网======》VPN服务器======》公司的服务

常见允许访问外网的服务:

网站www:  http  80/tcp

       https  443/tcp

邮件mail:  smtp  25/tcp

       smtps  465/tcp

      pop3  110/tcp

      pop3s  995/tcp

      imap  143/tcp

一些常见不允许外网访问的服务:

文件服务器:  NFS  123/UDP

        SAMBA  137,138,139/tcp,445/tcp

        FTP    20/tcp,21/tcp

远程管理:   SSH   22/tcp

数据库:    MYSQL      3306/tcp

        ORACLE  1521/tcp

配置规则基本思路:

ACCEPT规则:1)允许本地访问。2)允许已监听状态数据包通过。3)允许规则中允许的数据包通过。(千万别忘记22端口)

DENY规则:拒绝未被允许的数据包。

iptables规则保存成配置文件

开始。。。。。。。。。

满足条件1:

[root@test1 ~]# iptables -I INPUT -i lo -j ACCEPT
[root@test1 ~]# iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@test1 ~]# iptables -A INPUT -s 192.168.124.0/ -j ACCEPT
[root@test1 ~]# iptables -A INPUT -s 192.168.122.0/ -j ACCEPT
[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 all -- 0.0.0.0/ 0.0.0.0/
ACCEPT all -- 0.0.0.0/ 0.0.0.0/
ACCEPT all -- 192.168.124.0/ 0.0.0.0/
ACCEPT all -- 192.168.122.0/ 0.0.0.0/ Chain FORWARD (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination

满足条件2,3:

[root@test1 ~]# iptables -A INPUT -p tcp --dport  -j ACCEPT
[root@test1 ~]# iptables -A INPUT -p tcp --dport -j ACCEPT(VPN常用端口)
[root@test1 ~]# iptables -I INPUT -p icmp -j ACCEPT
[root@test1 ~]# 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 all -- 0.0.0.0/ 0.0.0.0/ state RELATED,ESTABLISHED
ACCEPT all -- 0.0.0.0/ 0.0.0.0/
ACCEPT all -- 0.0.0.0/ 0.0.0.0/
ACCEPT all -- 192.168.124.0/ 0.0.0.0/
ACCEPT all -- 192.168.122.0/ 0.0.0.0/
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

保存到配置文件,设置开机自启动后,自动加载:

[root@test1 ~]# /etc/init.d/iptables save
iptables:将防火墙规则保存到 /etc/sysconfig/iptables: [确定]
[root@test1 ~]# cat /etc/sysconfig/ip
ip6tables ip6tables.old iptables-config iptables.save
ip6tables-config iptables iptables.old
[root@test1 ~]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Sun Mar ::
*filter
:INPUT ACCEPT [:]
:FORWARD ACCEPT [:]
:OUTPUT ACCEPT [:]
-A INPUT -p icmp -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 192.168.124.0/ -j ACCEPT
-A INPUT -s 192.168.122.0/ -j ACCEPT
-A INPUT -p tcp -m tcp --dport -j ACCEPT
-A INPUT -p tcp -m tcp --dport -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Sun Mar ::

或者将文件保存未shell文件,将shell文件写到rc.local文件中:例如

 sh /root/shell/myiptables.sh 

写到rc.local中。。。

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

  1. PHP练习题三

    1.用PHP打印出前一天的时间格式是2006-5-10 22:21:21. echo date(‘Y-m-d H:i:s’, strtotime(‘-1 days’)); 2.不使用第三个变量交换两个 ...

  2. Linux基础练习题(三)

    1.显示当前系统上root.fedora或user1用户的默认shell: [root@www ~]# egrep "^(root|fedora|user1)" /etc/pass ...

  3. Python3.7 练习题(三) 将指定目录下的图片进行批量尺寸大小处理

    # 将指定目录下的图片进行批量尺寸大小处理 #修改图片尺寸 导入Image os 快捷键 alt+enter import os from PIL import Image def process_i ...

  4. python六十四课——高阶函数练习题(三)

    案例五:求两个列表元素的和,返回新列表lt1 = [1,2,3,4]lt2 = [5,6]效果:[6,8,10,12] lt1=[1,2,3,4] lt2=[5,6] print(list(map(l ...

  5. Iptalbes练习题(二)

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

  6. Iptalbes练习题(一)

    实验环境: KVM 虚拟机 centos6.7 test1:192.168.124.87  test2:192.168.124.94 场景一: 要求:1.对所有地址开放本机的tcp(80.22.10- ...

  7. 廖雪峰python3练习题三

    条件判断 题目: 答案: #!/usr/bin/env python3 #-*- coding:utf-8 -*- heigth = 1.75 weigth = 80.5 bim = weigth / ...

  8. 第三十五章 Linux常规练习题(二)参考答案

    一.练习题一 1.删除用户基本组shanghai03.发现无法正常删除,怎样才能将其删除掉,不能删除用户. groupdel shanghai03 移除其所属组的用户 2.打开多个xshell窗口连接 ...

  9. 第三十四章 Linux常规练习题(一)参考答案

    一.练习题一 1.超级用户(管理员用户)提示符是___#_,普通用户提示符是___$_. 2.linux关机重启的命令有哪些 ? 关机命令 重启命令 shutdown -h now shutdown ...

随机推荐

  1. 最小化JavaScript代码

    1.去除不必要的格式符.空白符.凝视符. 这个操作.事实上能够理解为是一种格式化.尽管它操作的结果事实上是去除掉原始文件的那些格式. 2.模糊(Obfuscation)处理JAVASCRIP脚本源码. ...

  2. UVA - 434 Matty's Blocks

    题意:给你正视和側视图,求最多多少个,最少多少个 思路:贪心的思想.求最少的时候:由于能够想象着移动,尽量让两个视图的重叠.所以我们统计每一个视图不同高度的个数.然后计算.至于的话.就是每次拿正视图的 ...

  3. checked exception和unchecked exception区别

    http://blog.csdn.net/yuefengyuan/article/details/6204317 一. Java 中定义了两类异常: 1) Checked exception: 这类异 ...

  4. Swing中GridBagLayout布局的使用

    1 http://pydoing.blogspot.com/2011/05/java-gridbaglayout.html  台湾人博客,需FQ 2 http://zhangjunhd.blog.51 ...

  5. Sequence contains no matching element

    1.linq查询Single方法出错 var c = DbCache.UserRoles.Single(ur => ur.RoleId == roleId); 2.使用方法System.Linq ...

  6. 工作总结 1 sql写法 insert into select from 2 vs中 obj文件和bin文件 3 npoi 模板copy CopySheet 最好先全部Copy完后 再根据生成sheet写数据 4 sheet.CopyRow(rowsindex, rowsindex + x); 5 npoi 复制模板如果出现单元格显示问题

    我们可以从一个表中复制所有的列插入到另一个已存在的表中: INSERT INTO table2SELECT * FROM table1; 或者我们可以只复制希望的列插入到另一个已存在的表中: INSE ...

  7. windows 配置squid反向代理服务器

    发现Window版本的Squid 和 Linux 配置有点不一样 一.配置squid\etc目录1.squid.conf.default 拷贝一份重新命名为squid.conf2.cachemgr.c ...

  8. 搭建SSH框架整合Struts2和Spring时,使用@Autowired注解无法自动注入

    © 版权声明:本文为博主原创文章,转载请注明出处 1.问题描述: 搭建SSH框架,在进行Struts2和Spring整合时,使用Spring的@Autowired自动注入失败,运行报错java.lan ...

  9. Linux 安装中文man手册

    Centos 安装中文man 虽然在CentOS操作系统中具有多语言包,但其man手册是英文的,对于新手来说能够使用中文man手册将加快学习速度. .首先需要确认的是有没有安装中文支持,如果没有请安装 ...

  10. mysql case then 语句