nat表应用实验

第一步 准备工作

  • A机器两块网卡ens33(192.168.2.106)、再添加一块自定义网卡ens37(192.168.100.1),添加到LAN内网区段(自定义名字,写什么无所谓),ens33可以上外网,ens37仅仅是内部网络。
  • B机器是虚拟机里克隆A机器的,把ens33禁掉,只有ens37(192.168.100.100),和A机器ens37可以通信互联。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    先在虚拟机里面设置一下,添加一块网卡
    
    A
    ifconfig ens37 192.168.2.106/24 自定义网卡IP
    把网卡配置文件的MAC什么的再修改一下 B
    ifdown ens33 ban掉网卡
    ifconfig ens37 192.168.100.100/24 自定义网卡IP A
    ping ens37 192.168.100.100 yes B
    ping ens37 192.168.100.1 yes
    ping www.baidu.com no Windows CMD
    ping 192.168.100.1 no
    ping 192.168.100.100 no

第二步 需求1:可以让B机器连接外网 (小路由器的功能)

  • A机器打开端口转发

    1
    2
    3
    echo "1">/proc/sys/net/ipv4/ip_forward    端口转发配置文件默认是0,表示关闭。
    iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
    增加一条规则,有了这条规则,可以把100.0这个网段做一个欺骗,让它们可以上网,记住这个用法就可以了。
  • B机器要设置一个网关

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    route add default gw 192.168.100.1
    route -n 确认网关
    ping 192.168.2.106 yes vi /etc/resolv.conf 设置DNS
    233.5.5.5
    ping 233.5.5.5 yes
    ping www.baidu.com yes 大专栏  iptables学习02-nat表应用Windows CMD
    ping 192.168.100.100 no B可以连接外网了,但是外网还是ping不通这个100的ip

第三步 需求2:C机器只能和A通信,让C机器可以直接连通B机器的22端口

  • A机器打开端口转发,并添加规则

    1
    2
    3
    4
    5
    6
    7
    8
    echo "1">/proc/sys/net/ipv4/ip_forward    端口转发配置文件默认是0,表示关闭。
    iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE 删除上面那个之前的规则 添加新规则
    iptables -t nat -A POSTROUTING -d 192.168.2.106 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
    进来的包,130转发到100IP的22端口
    iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.2.106
    传出的包,100回到130的包,设置来源IP为130
  • B机器要设置一个网关

    1
    2
    3
    route add default gw 192.168.100.1
    route -n 确认网关
    ping 192.168.2.106 yes
  • 测试是否可以用xshell登录A机器

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    ssh 
    主机 192.168.2.106
    端口 1122
    密码 *** 连接OK ifconfig
    ... ...
    ens33 无
    ens37 192.168.100.100 ping www.qq.com yes,可以连接外网 w from
    192.168.2.1 上网是从windows机器上的

扩展

  1. iptables应用在一个网段
    http://www.aminglinux.com/bbs/thread-177-1-1.html
  2. sant,dnat,masquerade
    http://www.aminglinux.com/bbs/thread-7255-1-1.html
  3. iptables限制syn速率
    http://www.aminglinux.com/bbs/thread-985-1-1.html

iptables学习02-nat表应用的更多相关文章

  1. iptables filter表 案例、iptables nat表的路由功能 、端口映射

    1.小案例 #!/bin/bashipt="/usr/sbin/iptables"$ipt -F$ipt -P INPUT DROP$ipt -P OUTPUT ACCEPT$ip ...

  2. iptables filter表案例、iptables nat表应用 使用介绍

    第7周第4次课(5月10日) 课程内容: 10.15 iptables filter表案例10.16/10.17/10.18 iptables nat表应用 扩展1. iptables应用在一个网段 ...

  3. 四十七.iptables防火墙 filter表控制 扩展匹配 nat表典型应用

    1.iptables基本管理 关闭firewalld,开启iptables服务 查看防火墙规则 追加.插入防火墙规则 删除.清空防火墙规则   1.1 关闭firewalld,启动iptables服务 ...

  4. Linux centos7iptables filter表案例、iptables nat表应用

    一.iptables filter表案例 vim /usr/local/sbin/iptables.sh 加入如下内容 #! /bin/bash ipt="/usr/sbin/iptable ...

  5. 【转】IPtables学习笔记

    写在前面,大家测试玩iptables时要记得自己配置了那些东西,测试完成后记得删除啊,博主忘了删除一个input REJECT链的一条记录,后续测试搭建了apache服务器,始终无法访问,最后抓包发现 ...

  6. LInux iptables学习

    作者原文 : http://blog.chinaunix.net/uid-9950859-id-98277.html       要在网上传输的数据会被分成许多小的数据包,我们一旦接通了网络,会有很多 ...

  7. Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]

     Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...

  8. iptables 学习

    本博客是学习慕课网课程 用iptables搭建一套强大的安全防护盾 整理而成 iptables相当于在ip层挂载一个hook point对用户进行控制 组成: 四张表+ 五条链(hook point) ...

  9. Linux防火墙iptables学习

    http://blog.chinaunix.net/uid-9950859-id-98277.html 要在网上传输的数据会被分成许多小的数据包,我们一旦接通了网络,会有很多数据包进入,离开,或者经过 ...

随机推荐

  1. PCA|factor extraction|CA

    PCA:主成分分析 相关矩阵,找特征值,找每个特征值对应特征向量,即组成主组成式子: 每个式子指向一个结果y,找一条线将这些y分开.有11个变量就有11个新坐标轴,通过点到直线距离来区分. 信息必须集 ...

  2. VUEJS文件扩展名esm.js和common.js是什么意思

    vue.js : vue.js则是直接用在<script>标签中的,完整版本,直接就可以通过script引用. vue.common.js :预编译调试时,CommonJS规范的格式,可以 ...

  3. Mybatis generator 数据库反向生成插件的使用

    直接上干货: 可生成数据库表对应的po  mpper接口文件 mapper.xml文件.文件中自动配置了部分常用的dao层方法.用于快速快发. 1.pom中引入插件: <plugin> & ...

  4. Softether使用本地网桥

    https://maytalkhao.com/archives/826 以下步骤都是按照上面这篇文章来的,具体细节如下 一.使用Softether  VPN Server Manager软件添加本地网 ...

  5. 二十二、NFS服务深入讲解

    一.查看nfs服务: [root@nfsserve ~]# ps -ef|grep -E "rpc|nfs"rpc       1565     1  0 17:29 ?      ...

  6. LootCode-链表排序-Java

    链表排序 0.来源 来源:力扣(LeetCode) 题目链接:https://leetcode-cn.com/problems/sort-list 1.题目描述 在 O(n log n) 时间复杂度和 ...

  7. js正则表达式常用的大部分函数

    1.)String方法a.)String.search()参数:可以是正则表达式也可以是普通的字符串.返回值:如果找到匹配则返回首字符的索引位置,找不到则返回-1var s = "Hello ...

  8. Linux_新建用户

    目录 1.新增用户 2.增加密码 新增用户:cn 进入root 输入新建命令 cn就是我们的新的用户名,也可以换成其他的 sudo useradd cn 接下来发现没有反应,是正常的,如图 查看是否新 ...

  9. 吴裕雄--天生自然python学习笔记:pandas模块删除 DataFrame 数据

    Pandas 通过 drop 函数删除 DataFrarne 数据,语法为: 例如,删除陈聪明(行标题)的成绩: import pandas as pd datas = [[65,92,78,83,7 ...

  10. 吴裕雄--天生自然 R语言开发学习:基础知识

    1.基础数据结构 1.1 向量 # 创建向量a a <- c(1,2,3) print(a) 1.2 矩阵 #创建矩阵 mymat <- matrix(c(1:10), nrow=2, n ...