专栏首页运维小白10.16/10.17/10.18 iptables nat表应用

10.16/10.17/10.18 iptables nat表应用

nat表应用

  • A机器两块网卡ens33(192.168.202.130)、ens37(192.168.100.1),ens33可以上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.100.100),和A机器ens37可以通信互联。

需求1:可以让B机器连接外网

  • A机器上打开路由转发 echo "1">/proc/sys/net/ipv4/ip_forward
  • A上执行 iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
  • B上设置网关为192.168.100.1

实现:

  1. 首先准备两台机器(若是怕实验失败,可先快照下)
  2. 在虚拟机hf上在添加一块网卡(已添加过一块虚拟网卡)
  1. 然后默认的是NAT模式,然后点击完成
  1. 在选择添加的网卡,并在右侧,选择LAN区段
  • 选择LAN区段,就相当于我们给网卡连接到了内网的一个交换机上,这个交换机,用windows机器是无法连接的,这样这台机器和那台机器连上同一个内网的交换机,它们两者之间通信即可。
  1. 然后选择LAN区段中,刚设置的名称为“内网”
  1. 最后点击确定
  2. 选择克隆的虚拟机hf-02,并添加网卡——>在这台虚拟机上本身有一块网卡,因为已经编辑过IP,所以我们可以直接禁掉这个网卡
  1. 然后hf-02添加一块网卡,和hf添加网卡步骤一样相同,并选择LAN区段,中的“内网”,并确认
  2. 重启两台虚拟机
  • hf-02虚拟机中没有了windows所能连接的IP,所以就无法远程连接hf-02
  1. 打开hf虚拟机,输入ifconfig命令,会看到添加了一个网卡eno33554984
  2. 这里会看到eno33554984网卡,并没有IP,并设置IP(新建那个当私网IP,你可以跟跟视频中的一样,也可以自己设置)
  • 设定IP有两种方法:
    • 1.可以命令行添加IP
      • 命令行ifconfig ens36 192.168.100.1/24
    • 2.也可以设置配置文件,设置配置文件和设置虚拟网卡一样的步骤
      • 将eno16777736网卡配置文件复制成eno33554984,并修改里面的IP和NETMASK即可其他都不需要管
  1. 执行命令行ifconfig ens36 192.168.100.1/24,然后运行ifconfig命令,会看到eno33554984网卡有了IP
  • 手动命令行ifconfig ens36 192.168.100.1/24,设置IP ![输入图片说明](https://static.oschina.net/uploads/img/201712/01120906_md73.png "新增网卡eno3355498")
  1. 但是eno33554984网卡的IP,在虚拟机一重启,那么IP就会没了——>若想永久生效,就去编辑配置文件,但默认配置文件是不存在的,需要拷贝eno16777736网卡的配置文件,然后更改其中的内容
  2. 因为hf-02虚拟机无法远程,所以只能在虚拟机上操作
  3. 用ifconfig命令查看hf-02虚拟机的网卡,会发现也没有IP地址
  4. 这里若想完全禁掉eno16777736网卡,可执行ifdown eno16777736命令(这一步可省略,若一直失败的话,只要在设置好IP,两个私网IP互通即可)
  • 但有时会提示MAC地址不对,这时候进网卡配置文件中
    • 方法一:注释掉HWADDR参数
    • 方法二:看是否存在DEVICE参数。若没有,则增加上DEVICE参数——>(自己的是没有的)
    • 方法三:直接删除之前的网卡,新建虚拟网卡
  1. 给eno33554984网卡设置IP地址,命令行ifconfig ens36 192.168.100.100/24
  2. 然后用ifconfig命令,查看新建的网卡IP地址
  1. 这里会看到hf-02虚拟机中的eno16777736网卡,但是是无法ping通的——>若为了保险这里可以执行命令ifdown eno16777736
  2. 然后给ens36网卡设置IP地址,命令行ifconfig ens36 192.168.100.100/24
  3. 这时候,两台虚拟机中新建网卡的IP互相尝试互相ping通
  1. 这时hf机器上需要打开路由转发 ——>想使用nat表,使用网络的转发,必须修改内核参数
    • 默认/proc/sys/net/ipv4/ip_forward这个文件为0——>这个文件为0,表示这个文件没有开启内核转发
[root@hanfeng ~]# cat /proc/sys/net/ipv4/ip_forward
0
[root@hanfeng ~]#
  1. 将文件/proc/sys/net/ipv4/ip_forward默认改为1,打开端口转发
    • 要想实现nat应用,必须打开端口转发
[root@hanfeng ~]# echo "1" > !$
echo "1" > /proc/sys/net/ipv4/ip_forward
[root@hanfeng ~]# !cat
cat /proc/sys/net/ipv4/ip_forward
1
[root@hanfeng ~]# 
  1. 在hf虚拟机上增加一条规则iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
[root@hanfeng ~]# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
[root@hanfeng ~]# 
  1. 实现100.0网段可以上网,做一个欺骗
  2. 给hf-02设置网关(数据包过去,从hf到hf-02,从hf-02到hf,设置好默认网关)
  1. 然后hf-02尝试是否能ping通192.168.202.130,这就意味着可以和外网通信了
  1. 设置DNS,在/etc/resolv.conf中设置,添加nameserver 119.29.29.29
  1. 这时候就可以ping通外网了——>但物理机还是无法ping通hf-02的虚拟机IP地址
  2. 需求2:C机器只能和A通信,让C机器可以直接连通B机器的22端口
  • A上打开路由转发echo "1">/ proc/sys/net/ipv4/ip_forward
  • A上执行iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
  • A上执行iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130
  • B上设置网关为192.168.100.1

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 10.9 查看网络状态

    监控系统状态 netstat 查看网络状态 netstat -lnp 查看监听端口 netstat -an 查看系统的网络连接状况 netstat ...

    运维小白
  • Linux基础(day 34)

    10.15 iptables filter表案例 iptables常用知识回顾点 iptables -I/-A/-D 后紧跟 链 ,可以是INPUT,OUTPU...

    运维小白
  • 18.7 LVS介绍

    LVS介绍 LVS是由国人章文嵩开发 流行度不亚于apache的httpd,基于TCP/IP做的路由和转发,稳定性和效率很高 LVS最新版本基于Linux内核2...

    运维小白
  • iptables filter表案例和iptables nat表的应有

    叶瑾
  • 使用opencv中匹配点对的坐标提取方式

    在opencv中,特征检测、描述、匹配都有集成的函数。vector<DMatch bestMatches;用来存储得到的匹配点对。那么如何提取出其中的坐标呢?

    砸漏
  • HDR视频介绍

    本文是来自video@scale 2019的演讲,演讲者是Rich Gerber,是Netflix的软件工程师。演讲主题是介绍HDR视频,HDR指的是High ...

    用户1324186
  • TCP/IP之网络地址转换(NAT)NAT动机:NAT 实现NAT穿透问题

    我们知道ipv4协议提供的IP地址是有限的,为了解决IP地址不足的问题,于是就有了网络地址转换(NAT),它的思想就是给一个局域网络分配一个IP地址就够了,对于...

    desperate633
  • Extjs4---Cannot read property 'addCls' of null 或者 el is null 关于tab关闭后再打开不显示或者报错

    做后台管理系统时遇到的问题,关于tab关闭后再打开不显示,或者报错 我在新的tabpanel中加入了一个grid,当我关闭再次打开就会报错Cannot read...

    hbbliyong
  • google 分屏 横屏模式 按home键界面错乱故障分析(三)

    google 进入分屏后在横屏模式按home键界面错乱( 三) 你确定你了解分屏的整个流程? ? 故障解析系列文章列表: google 分屏 横屏模式 按hom...

    用户1263308
  • 译文 | 如何掌控你的客户关系管理数据?

    CRM(Customer Relationship Management,客户关系管理)用于在企业经营中取得更高的效率。通过投入大量时间在CRM上,销售团队应该...

    CDA数据分析师

扫码关注云+社区

领取腾讯云代金券