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:
[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练习题(三)的更多相关文章
- PHP练习题三
1.用PHP打印出前一天的时间格式是2006-5-10 22:21:21. echo date(‘Y-m-d H:i:s’, strtotime(‘-1 days’)); 2.不使用第三个变量交换两个 ...
- Linux基础练习题(三)
1.显示当前系统上root.fedora或user1用户的默认shell: [root@www ~]# egrep "^(root|fedora|user1)" /etc/pass ...
- Python3.7 练习题(三) 将指定目录下的图片进行批量尺寸大小处理
# 将指定目录下的图片进行批量尺寸大小处理 #修改图片尺寸 导入Image os 快捷键 alt+enter import os from PIL import Image def process_i ...
- 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 ...
- Iptalbes练习题(二)
接着上节,上节课,基本功能设置后,现在我们telnet本机一下,发现问题: [root@test1 ~]# telnet Trying 127.0.0.1... telnet: connect to ...
- Iptalbes练习题(一)
实验环境: KVM 虚拟机 centos6.7 test1:192.168.124.87 test2:192.168.124.94 场景一: 要求:1.对所有地址开放本机的tcp(80.22.10- ...
- 廖雪峰python3练习题三
条件判断 题目: 答案: #!/usr/bin/env python3 #-*- coding:utf-8 -*- heigth = 1.75 weigth = 80.5 bim = weigth / ...
- 第三十五章 Linux常规练习题(二)参考答案
一.练习题一 1.删除用户基本组shanghai03.发现无法正常删除,怎样才能将其删除掉,不能删除用户. groupdel shanghai03 移除其所属组的用户 2.打开多个xshell窗口连接 ...
- 第三十四章 Linux常规练习题(一)参考答案
一.练习题一 1.超级用户(管理员用户)提示符是___#_,普通用户提示符是___$_. 2.linux关机重启的命令有哪些 ? 关机命令 重启命令 shutdown -h now shutdown ...
随机推荐
- 内置函数new() 和struct{} 初始化的区别
一.new() 这是一个用来分配内存的内置函数,它的第一个参数是一个类型,不是一个值,它的返回值是一个指向新分配的 t 类型的零值的指针.在golang的代码定义如下: func new(t Type ...
- 开发ionic准备之安卓模拟器设置(2)
发现这个安卓模拟器设置屏幕还不能太大,太大显示不全,然后整个模拟器不能拖动,所以尽量不要设置太大的分辨率 ,如下即可 如果选安卓4.4然后勾选了其他下面的ok还不能点击的话,这下要去sdk manag ...
- UISearchBar 点击取消回到原来位置时会跳动的解决方法
今天改动项目里面測试给提的bug.有一个bug就是当点击UISearchBar的取消buttonUISearchBar回到原来位置时会发生偏差50像素左右的跳动,细致看看前面几个程序写的那个页面,也没 ...
- 使用file_get_contents下载图片
<?php /* 当你在搭建网站时,从远程服务器下载某张图片并且将其保存在自己的服务器上,这一操作会经常用到.代码如下: */ $image = file_get_contents('h ...
- react-native 路由 react-native-router-flux
引言 react-native-router-flux 是一个基于 react-navigation 路由框架,进一步简化了页面跳转的步骤,并且一直随着 react-navigation升级更新版本. ...
- d3.js封装文本实现自动换行和旋转平移等功能
我们下面话不多说,本文主要介绍的是利用D3.js封装文本实现自动换行功能的步骤,下面来一起看看吧. 一.引用 multext.js 文件 multext.js function appendMulti ...
- Bestcoders
Senior's Fish Time Limit: 14000/7000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) T ...
- java精确除法计算,四舍五入 Java问题通用解决代码
主要用java.math.BigDecimal工具类实现,想要了解BigDecimal类可以看java api 正式版: public static Double divide() ...
- WCF实现上传图片功能
初次学习实现WCF winform程序的通信,主要功能是实现图片的传输. 下面是实现步骤: 第一步: 首先建立一个类库项目TransferPicLib,导入wcf需要的引用System.Service ...
- Excel中判断一个表中的某一列的数据在另一列中是否存在
A B C D 1 10 3 有 2 6 e 无 3 3 6 有 判断c列的值在A列中是否存在(假定C列为需要判断列,A列为目标列) 在D1中输入以下公式,然后下拉公式即可 =IF(C ...