32.filter表案例 nat表应用 (iptables)
10.15 iptables filter表案例
10.16/10.17/10.18 iptables nat表应用
10.15 iptables filter表案例:
~1. 写一个具体的iptables小案例,需求是把80端口、22端口、21 端口放行。但是,22端口我要指定一个IP段,只有这个IP段的IP能访问到。其他段的一概拒绝。需要通过一个脚本来指定(脚本可理解为一个批量执行的命令)、
vim /usr/local/sbin/iptables.sh 加入以下内容
#! /bin/bash 通过脚本来实现
ipt=“/usr/sbin/iptables” 首先定义ipt这个变量,下面频繁用到,不至于那么繁琐(写脚本时尽量用绝对路径)
$ipt -F 清空之前的规则 (我们没有-t指定一个表。所以为filter表)
$ipt -P INPUT DROP 指定INPUT的默认规则为DORP(也是为什么要用脚本的原因,不至于不能远程连接)
$ipt -P OUTPUT ACCEPT 指定OUTPUT的默认规则为ACCETP(也就是默认规则)
$ipt -P FORWARD ACCEPT 指定FORWARD的默认规则为ACCETP(也就是默认规则)
然后下面加一些规则出来
$ipt -A INPUT -m state --state RELATED(可理解为链接的其他链接),ESTABLISHED(即为保持链接) -j ACCEPT
必须要写的
制定了一些状态,把他们放行。这些不太常用,但是要写进来。因为我们要满足上面的需要,这些需要总有一个相互链接的过程,为的是让他们更顺利的链接
$ipt -A INPUT -s 192.168.30.0/24 -p tcp --dport 22 -j ACCEPT 以上需求,按照22端口的规则的数据包放行
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT 以上需求,80端口的数据包放行
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT 以上需求,21端口的数据包放行
保存退出后,要链接他。sh /usr/local/iptables.sh
iptables -nvL可查看
~2. icmp示例
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
ping外面的机器可以ping通,ping本机就不ping(外面的也ping不通本机)
实例:
1.
[root@axinlinux-01 ~]# vim /usr/local/sbin/iptables.sh
ipt="/usr/sbin/iptables"
$ipt -F
$ipt -P INPUT DROP
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A INPUT -s 192.168.164.0/24 -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT
[root@axinlinux-01 ~]# sh /usr/local/sbin/iptables.sh
[root@axinlinux-01 ~]# iptables -nvL
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
7 796 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT tcp -- * * 192.168.164.0/24 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 9 packets, 1104 bytes)
pkts bytes target prot opt in out source destination
----------------------------------------------------------------------------------------------------------------------------------------------------
Lazy Instantiation
复制代码
public class SingletonDemo {
private static SingletonDemo instance = null;
private SingletonDemo() { }
public static SingletonDemo getInstance() {
if (instance == null) {
instance = new SingletonDemo ();
}
return instance;
}
}
复制代码
4.jdk中使用了哪些设计模式?
Structural(结构模式)
Adapter:
把一个接口或是类变成另外一种。
java.util.Arrays#asList(www.xcdeyiju.com)
javax.swing.JTable(www.jujinyule.com TableModel)
java.io.InputStreamReader(InputStream)
java.io.OutputStreamWriter(www.jintianxuesha.com OutputStream)
javax.xml.bind.annotation.adapters.XmlAdapter#marshal()
javax.xml.bind.annotation.adapters.XmlAdapter#unmarshal()
Bridge:
把抽象和实现解藕,于是接口和实现可在完全独立开来。
AWT (提供了抽象层映射于实际的操作系统)
JDBC
Composite:
让使用者把单独的对象和组合对象混用。
javax.swing.JComponent#add(Component)
java.awt.Container#add(www.hnawesm.com Component)
java.util.Map#putAll(Map)
java.util.List#addAll(Collection)
java.util.Set#addAll(Collection)
Decorator:
为一个对象动态的加上一系列的动作,而不需要因为这些动作的不同而产生大量的继承类。这个模式在JDK中几乎无处不在,所以,下面的列表只是一些典型的。
java.io.BufferedInputStream(InputStream)
java.io.DataInputStream(InputStream)
java.io.BufferedOutputStream(OutputStream)
java.util.zip.ZipOutputStream(OutputStream)
java.util.Collections#checked[List|Map|Set|SortedSet|SortedMap]()
~1. nat表应用
~2. A机器两块网卡ens33(192.168.30.134)、ens37(192.168.164.1),ens33可以上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.164.100),和A机器ens37可以通信互联
~3. 需求1:可以让B机器连接外网
说白了就是做个小路由器(A机器),小路由器可以上网,那么电脑就可以上网
首先,我们需要两台机器。给01添加网卡 实例~3.
~4. A机器上打开路由器转发 echo "1">/proc/sys/net/ipv4/ip_forward
默认这个路径文件为0,即代表没有开启内核转发。因为要使用nat的应用,必须要打开nat的端口转发
~5. A上执行iptables -t nat -A POSTROUTING -s 192.168.164.0/24 -o ens33 -j MASQUERADE
这条规则,就是想让100.0这个网段可以上网
添加这条规则,就可以上网了
~6. B上设置网关为192.168..164.
设置网关的目的:试想一下,你的数据包过去,从A到B,从B到A,我怎么到A呢?肯定的需要一个网关啊,默认网关给他设置好。写法为:
route add default gw 192.168.100.1
执行完这个就可以与公网通信了(也就是01的IP)。我们在设置一下dns(vi etc/resolv.conf),就可以与外网通信了。
vi之后加上 nameserver 119.29.29.29 这个是dns的公共dns.详见实例,~5.
其实到这,就会发现,A机器(01)就是个路由器。B机器(02)通过A机器(01)上网
~7. 需求2:C机器只能和A通信,让C机器可以直接连通B机器的22端口
意思是,远程连接B机器。因为A机器可以远程,通过A机器跳转到B机器,达到远程连接B的目的。而这个就叫做“端口映射”
把B机器的22端口映射出来。A机器的端口已经了吧,是可以远程的。我们把他映射成其他的。也就是说,我们访问这个其他的端口,实际上就是访问的B机器的22端口。从而达到远程B机器的目的。如图:
~8. A上打开路由器转发echo "1">/proc/sys/net/ipv4/ip_forward
同样的打开端口转发
~9. A上执行 iptables -t nat -A PREROUTING -d 192.168.30.134 -p tcp --dport 1122 -j DNAT --to 192.168.164.100:22
这个是进来的,我的是30.134,给他转发到164.100的22端口
~9. A上执行 iptables -t nat -A POSTROUTING -s 192.168.164.100 -j SNAT --to 192.168.30.134
这是回来的包,回来的包也要做一个操作
就从100.100回来的包,经过这个A机器,给他在做一个SNAT操作,把目标地址改成30.134
~10. B上设置网关为192.168.164.1
要给B加上网关,一样的操作
route add default gw 192.168.164.1
实例:
~3.
首先准备01 的需求
6.选择网络适配器2,点lan区段(相当于连到内网的交换机上,这个交换机windows机器是连不上的。我们这两台机器01和02我们连上同一个交换机就可以通信了)
11.我们02也相同的连上同样的lan区段(也就是连上同样的交换机)
以上准备工作已完成,启动机器(注意,此时我们远程不上02,是因为改成了lan区段)
12.此时01上,ifconfig会出现新的网卡ens37,我们要修改他的配置IP、网段,可以手动命令行来设置
ifconfig ens37 192.168.164.1/24 (当然只是在内存中更改的,重启就没有了,想要永久生效,就要编辑配置文件。需要cp ens33的,去修改好几个地方)
[root@axinlinux-01 ~]# ifconfig ens37 192.168.164.1/24
这样两块网卡就设置好了。外网(ens33)内网(ens37)
13.那再来设置02机器的需求
因任务需要,保险起见。我们可以先ifdown掉ens33.这样02只跟01通信
14.同样的我们根据需求,可以用手动命令行来设置02的IP
小案例:阿鑫在具体修改ens37的时候,并没有ens37这个网卡。重新添加了新的网卡,并且连接了同样01的lan区段,才有的ens37这个网卡
ifconfig ens37 192.168.100.100/24
小案例:阿铭视频中,ping 01是ping不通的,是因为01 ens37的IP莫名没有了,有ifconfig设置了一下,就好了
以上,准备工作已全部完成(~2.的准备工作完成)
~4.
[root@axinlinux-01 ~]# cat /proc/sys/net/ipv4/ip_forward
0 默认0,没有开启内核转发
[root@axinlinux-01 ~]# echo "1">/proc/sys/net/ipv4/ip_forward 修改参数
[root@axinlinux-01 ~]# cat /proc/sys/net/ipv4/ip_forward
1 已打开
~5.
route -n查看网关,显示没有网关。 route add default gw 192.168.100.1设置默认为这个网关
~6.
vi etc/resolv.conf
这个时候就可以ping通这个公共dns了。当然也可以ping通外网了。但是外网ping不同这个。
转载于:https://www.cnblogs.com/qwangxiao/p/11346170.html
32.filter表案例 nat表应用 (iptables)相关推荐
- 31次课(iptables filter表案例、iptables nat表应用)
10.15 iptables filter表案例 iptables小案例,需求需要把80端口22端口还有21端口放行.但是22端口我需要指定一个ip段,只有这个ip段的ip访问的时候才可以访问,其他段 ...
- 10.15 iptables filter表小案例10.16/10.17/10.18 iptables nat表应用
2019独角兽企业重金招聘Python工程师标准>>> 10.15 iptables filter表小案例 iptables 命令.语法总结 iptables-nvL //查看ipt ...
- iptables nat表含义_十(4)iptables语法、iptables filter表小案例、iptables nat表应用
iptables语法 filter表: INPUT链:作用于进入本机的包 OUTPUT链:作用于送出本机的包 FORWARD链:作用于和本机无关的包 nat表: PREROUTING链:作用是包在刚刚 ...
- iptables filter表案例/iptables nat表应用
iptables filter表案例 iptables filter 表案例 创建一个iptables.sh脚本 [root@Ask-02 ~]# vim /usr/local/sbin/iptabl ...
- iptables小案例,nat表应用
2019独角兽企业重金招聘Python工程师标准>>> iptables小案例: 需求1: 只针对filter表,预设INPUT链DROP,其他两个链ACCEPT,然后针对192.1 ...
- Linux防火墙-netfilter filter表案列与nat表应用
iptables filter表案例 脚本代码和注释 [root@localhost ~]# vim /usr/local/sbin/iptables.sh ## 文档内容 #!/bin/bash # ...
- iptables之nat表的学习和实验
本次实验接着上一篇博客<iptables之filter表的学习和实验>进行(https://blog.csdn.net/weixin_40042248/article/details/11 ...
- Linux centos7 Linux网络相关、firewalld和netfilter、netfilter5表5链介绍、iptables语法
一. Linux网络相关 yum install net-tools ifconfig查看网卡ip ifup ens33开启网卡 ifdown ens33关闭网卡 设定虚拟网卡ens33:0 mii- ...
- 机器学习之Pandas:Pandas介绍、基本数据操作、DataFrame运算、Pandas画图、文件读取与处、缺失值处理、数据离散化、合并、交叉表和透视表、分组与聚合、案例(超长篇,建议收藏慢慢看)
文章目录 Pandas 学习目标 1Pandas介绍 学习目标 1 Pandas介绍 2 为什么使用Pandas 3 案例: 问题:如何让数据更有意义的显示?处理刚才的股票数据 给股票涨跌幅数据增加行 ...
- 6、iptables之RAW表和MANGLE表
文章目录 1.说明 2.raw表 3.Mangle表 1.说明 RAW表 和 MANGLE 表 实事求是的说 在⼯工作中 ⼀一般⽤用到的确实⽐比较少,⽬前更更多的 还是处在⼀一个 探索和实验的阶段 后 ...
最新文章
- Vue单文件组件环境配置
- CIO职能向流程演进
- 《MonoTouch开发实践指南》一1.2 创建MonoTouch应用程序
- 不同范数下的余弦定理_第06题 | 从源头追溯「余弦定理」amp; 文理科知识点的异同...
- PyCharm Python迁移项目
- 高速信号传输约翰逊 pdf_智芯文库 | 高速数字电路的设计与仿真
- 2021-2025年中国电动足部检查椅行业市场供需与战略研究报告
- python是干什么的-python干嘛用
- 双色球机器学习线性回归蓝球预测案例
- 12款热门Java小游戏项目的源码和教程
- 自学单片机编程(三) 流水灯代码
- NVIDIA控制面板闪退
- hdfs命令,hadoop基本常用命令
- 我的前端“先行”之路
- vue无法加载ps1
- jupyter改字体主题美化
- 【离散数学】数理逻辑 第一章 命题逻辑(5) 对偶式、对偶原理
- 这些微信头像,你敢换吗?
- 自动代理老是自动打开上不了网的解决办法
- zblog php换域名,zblog 怎么更换域名
热门文章
- css单线边框_css中的border-collapse属性如何设置表格边框线?(代码示例)
- AutoPatch java_《Oracle Applications DBA 基础》5- AD 工具 and patching
- ssh远程安全访问路由器
- 杜立特尔分解法 MATLAB,杜立特分解法.doc
- 【波形发生器(附源码)】基于DAC+DMA+UART的幅值、频率可调的正弦波、方波、三角波发生器
- 漂亮的网络验证php源码,好用的冰心php网络验证和源码例子
- 16年9月第二周---deadline
- 学生HTML个人网页作业作品~蛋糕甜品店铺共11个页面(HTML+CSS+JavaScript)
- UML之教学管理系统——4、Rational Rose画活动图
- 【jQuery】jQuery对象与prevObject