Iptalbes练习题(三)

场景需求:

(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:

[[email protected] ~]# iptables -I INPUT -i lo -j ACCEPT
[[email protected] ~]# iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
[[email protected] ~]# iptables -A INPUT -s 192.168.124.0/24 -j ACCEPT
[[email protected] ~]# iptables -A INPUT -s 192.168.122.0/24 -j ACCEPT
[[email protected] ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  192.168.124.0/24     0.0.0.0/0
ACCEPT     all  --  192.168.122.0/24     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:

[[email protected] ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[[email protected] ~]# iptables -A INPUT -p tcp --dport 1723 -j ACCEPT(VPN常用端口)
[[email protected] ~]# iptables -I INPUT -p icmp -j ACCEPT
[[email protected] ~]# iptables -A INPUT -j REJECT
[[email protected] ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  192.168.124.0/24     0.0.0.0/0
ACCEPT     all  --  192.168.122.0/24     0.0.0.0/0
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:1723
REJECT     all  --  0.0.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      

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

[[email protected] ~]# /etc/init.d/iptables save
iptables:将防火墙规则保存到 /etc/sysconfig/iptables:     [确定]
[[email protected] ~]# cat /etc/sysconfig/ip
ip6tables         ip6tables.old     iptables-config   iptables.save
ip6tables-config  iptables          iptables.old
[[email protected] ~]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Sun Mar 13 00:27:10 2016
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [69:8172]
-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/24 -j ACCEPT
-A INPUT -s 192.168.122.0/24 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Sun Mar 13 00:27:10 2016

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

 sh /root/shell/myiptables.sh 

写到rc.local中。。。

时间: 2024-10-21 04:39:26

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

3小时后iptalbes练习题

1.详述iptales工作流程以及规则过滤顺序??依次为:raw ?mangle ?nat ?filter规则链间的匹配顺序?入站数据:PREROUTING ?INPUT 出站数据:OUTPUT ?POSTROUTING 转发数据:PREROUTING ?FORWARD POSTROUTING 2.iptables有几个表以及每个表有几个链?Iptables有四表五链 3.请写出查看iptables当前所有规则的命令. iptables -L –nv4.禁止来自10.0.0.188 ip地址访问

Iptalbes练习题(二)

接着上节,上节课,基本功能设置后,现在我们telnet本机一下,发现问题: [[email protected] ~]# telnet 127.0.0.1 22 Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection timed out [[email protected] ~]# curl www.baidu.com curl: (6) Couldn't resolve host 'www.baidu.com'

练习题 (三)

题目: Summary Ranges Given a sorted integer array without duplicates, return the summary of its ranges. For example, given [0,1,2,4,5,7], return ["0->2","4->5","7"]. 答案: class Solution: # @param {integer[]} nums # @return

练习题三:句子反转

题目描述 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格. 比如: (1) "hello xiao mi"-> "mi xiao hello" 输入描述: 输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符) 输出描述: 对于每个测试示例,要求输出句子中单词反转后形成的句子 Python解法 # -*- coding:utf-8 -*-import sys if __name_

linux系统管理

[监控系统的状态] 1. w 查看当前系统的负载 相信所有的linux管理员最常用的命令就是这个'w' 了,该命令显示的信息还是蛮丰富的.第一行从左面开始显示的信息依次为:时间,系统运行时间,登录用户数,平均负载.第二行开始以及下面所有的行,告诉我们的信息是,当前登录的都有哪些用户,以及他们是从哪里登录的等等.其实,在这些信息当中,笔者认为我们最应该关注的应该是第一行中的'load average:'后面的三个数值. 第一个数值表示1分钟内系统的平均负载值:第二个数值表示5分钟内系统的平均负载值

linux系统日常管理

以下资料来源于<跟阿铭学Linux> 1.监控当前系统状态 1. w查看当前系统的负载 [[email protected] sbin]# w 15:23:46 up 3:34, 2 users, load average: 0.03, 0.05, 0.00 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT root tty1 - 12:26 2:55m 0.11s 0.11s -bash root pts/0 10.72.137.53 1

Linux的防火墙

1. selinux Selinux是Redhat/CentOS系统特有的安全机制.不过因为这个东西限制太多,配置也特别繁琐所以几乎没有人去真正应用它.所以装完系统,我们一般都要把selinux关闭,以免引起不必要的麻烦.关闭selinux的方法为,使 "SELINUX=disabled", 默认为 enforcing [[email protected] ~]# vim /etc/selinux/config # This file controls the state of SEL

Java基础阶段综合练习

package com.模拟练习题一; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.Scanner; /** * 1.键盘输入10个数,放到数组中 a. 去除该数组中大于10的数 b. 将该数组中的数字写入到本地文件nu

Shell脚本编程---条件判断if

SHELL脚本编程---判断 1.条件判断 条件判断在bash分为整数判断,字符判断和文件判断. 1-1条件判断的表达式: ① [ expression ] (注意单词词头和词尾都需要空格) ② [[ expression ]](注意同上) ③ test expression 1-2 整数比较 ① -eq  测试两个数是否相等,相等为真,不等为假 ② -ne  测试两个数是否不等, 反之. ③ -gt (大于),-lt (小于),-ge(大于或等于),-le(小于或等于) 逻辑与:&&