ubuntu 配置NAT配置内网网关服务器

这篇具有很好参考价值的文章主要介绍了ubuntu 配置NAT配置内网网关服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本次完全参考
Ubuntu20.04服务器开启路由转发让局域网内其他电脑通过该服务器连接外网

ubuntu 官方防火墙文档
Security - Firewall

本人从前的操作
Ubuntu 18.04 通过 ufw route 配置网关服务器

网关 配置内网DNS 服务器

背景知识

从前总认为既然UFW简化了 iptables , 所以执着的要用 ufw。这次看到大家使用 iptables 也很方便,而且感觉更好理解,所以,我也用 iptables 来完成!

主要还是从前不太理解 NAT 和 MASQUERADE ,今天简单学习记录一下网上抄来的一点知识

nat表需要的三个链:

  1. PREROUTING:可以在这里定义进行目的NAT的规则,因为路由器进行路由时只检查数据包的目的ip地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行目的NAT;
  2. POSTROUTING:可以在这里定义进行源NAT的规则,系统在决定了数据包的路由以后在执行该链中的规则。
  3. OUTPUT:定义对本地产生的数据包的目的NAT规则。

IP Masquerade

IP Masquerade 也被称为网络地址转换(NAT)和网络连接共享其他一些流行的操作系统。基本上,这是一种允许不具有公共Internet范围IP地址的计算机与位于Internet和Internet之间的另一台计算机与Internet上的其他计算机通信的方法。

如您所知,IP地址在Internet上用于标识机器。给定一个具有IP地址的数据包,组成Internet的每个路由器都知道将数据包发送到何处以将其发送到目的地的信息。现在,在局域网和其他未直接连接到Internet的网络中,还保留了一些IP地址范围供私人使用。保证这些专用地址不会在公共Internet上使用。

这会导致连接到专用网络的计算机使用专用IP地址的问题,因为它们无法直接连接到Internet。他们没有允许在公共Internet上使用的IP地址。IP Masquerade通过允许具有私有IP地址的计算机与Internet通信来解决此问题,同时修改该计算机的数据包以使用有效的公共IP地址代替原始的私有IP地址。从Internet返回的数据包在到达专用IP机之前被修改回使用原始IP地址。

实际完成起来倒是不复杂,就是简单的三条规则

环境:

  1. 网关服务器
    虚拟机 ubuntu 18.04
    eth0:221.122.XXX.XXX
    eth1: 192.168.0.197

  2. 测试服务器
    虚拟机 ubuntu 20.04
    eth0: 192.168.0.196

操作

除了测试操作之外,所有操作均在网关服务器(192.168.0.197)
既然打算使用 iptables ,最好 ufw disable ,以免冲突!

  1. 开启 ip 转发

    临时修改生效

     echo "1" > /proc/sys/net/ipv4/ip_forward
    

    永久修改
    sudo vim /etc/sysctl.conf
    去掉注释

     net.ipv4.ip_forward=1
    

    执行生效
    sudo sysctl -p /etc/sysctl.conf

  2. 编写 iptables 规则

     sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
     
     sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
     
     sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    

    理解:

     前两条很直观,就是转发,只有这两条,只能 ip 方式访问外网
     
     第三条通过外网网卡 eth0 启用 MASQUERADE ,达到域名访问外网的目的
    
  3. 保存规则

    $ sudo iptables-save

     # Generated by iptables-save v1.6.1 on Fri Jul 28 09:19:06 2023
     *nat
     :PREROUTING ACCEPT [53:2985]
     :INPUT ACCEPT [1:145]
     :OUTPUT ACCEPT [0:0]
     :POSTROUTING ACCEPT [0:0]
     -A POSTROUTING -o eth0 -j MASQUERADE
     COMMIT
     # Completed on Fri Jul 28 09:19:06 2023
     # Generated by iptables-save v1.6.1 on Fri Jul 28 09:19:06 2023
     *filter
     :INPUT ACCEPT [203:14633]
     :FORWARD ACCEPT [0:0]
     :OUTPUT ACCEPT [138:17681]
     -A FORWARD -i eth1 -o eth0 -j ACCEPT
     -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
     COMMIT
     # Completed on Fri Jul 28 09:19:06 2023
    
  4. 测试和验证
    在测试服务器上 ( 192.168.0.196)
    $ cat 00-installer-config.yaml

     # This is the network config written by 'subiquity'
     network:
       ethernets:
         eth0:
           addresses:
           - 192.168.0.196/24
           gateway4: 192.168.0.197
           nameservers:
             addresses:
             - 192.168.0.197
             - 223.5.5.5
             searc
    

    $ ping jd.com

     PING jd.com (106.39.171.134) 56(84) bytes of data.
     64 bytes from 106.39.171.134 (106.39.171.134): icmp_seq=1 ttl=47 time=201 ms
     64 bytes from 106.39.171.134 (106.39.171.134): icmp_seq=2 ttl=47 time=144 ms
     64 bytes from 106.39.171.134 (106.39.171.134): icmp_seq=3 ttl=47 time=6.84 ms
     ^C
    

    在网关服务器上验证( 192.168.0.197)
    $ sudo iptables -t nat -nL

     Chain PREROUTING (policy ACCEPT)
     target     prot opt source               destination         
     
     Chain INPUT (policy ACCEPT)
     target     prot opt source               destination         
     
     Chain OUTPUT (policy ACCEPT)
     target     prot opt source               destination         
     
     Chain POSTROUTING (policy ACCEPT)
     target     prot opt source               destination   
    
  5. 重启后再次测试,OK!文章来源地址https://www.toymoban.com/news/detail-614805.html

到了这里,关于ubuntu 配置NAT配置内网网关服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 12、利用NAT/NAPT实现外网主机访问内网服务器(思科)

    •网络地址转换NAT(Network Address Translation),被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。 •默认情况下,内部IP地址是无法被路由

    2024年02月03日
    浏览(42)
  • Cisco Packet Tracer 思科模拟器利用NAT实现外网主机访问内网服务器

    前两篇讲解了动态NAT地址转换,以及静态NAT地址转换,本篇文章主要讲解如何理由NAT实现外网主机访问内网服务器,含有重分布教学 情境分析 公司只申请了一个公网IP地址,基于私有地址与公有地址不能直接通信的原则,公网的计算机是不能直接访问内网服务器,要实现内网

    2024年02月07日
    浏览(72)
  • 【Linux环境配置】EPYC7642双路服务器Ubuntu22.04安装配置纪要

    服务器核心配置为: 双路 EPYC7642 服务器, 显卡 GeForce RTX 3060 , HDMI输出, 千兆网卡x2 …; 补充采购配件: USB/TypeC转千兆网卡(用于笔记本和服务器直连办公), DVI公 to HDMI母转接头(适配老款显示器), VGA公对公显示线, HDMI音频分离器, HDMI线x2, USB转3.5mm外置声卡, 腾

    2024年01月22日
    浏览(99)
  • win10远程桌面控制Ubuntu服务器 - 内网穿透实现公网远程

    转载自远程穿透文章:Windows通过RDP异地远程桌面Ubuntu【内网穿透】 XRDP是一种开源工具,它允许用户通过Windows RDP访问Linux远程桌面。 除了Windows RDP外,xrdp工具还接受来自其他RDP客户端(如FreeRDP、rdesktop和NeutrinoRDP )的连接。 相较于VNC,xrdp更加的轻量级。下面简单几步实现ubu

    2024年02月03日
    浏览(45)
  • 如何在Ubuntu系统部署RabbitMQ服务器并公网访问【内网穿透】

    RabbitMQ是一个在 AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,是当前最主流的消息中间件之一。 由erlang开发的AMQP(Advanced Message Queue 高级消息队列协议 )的开源实现,由于erlang 语言的高并发特性,性能较好,本质是个队列,FIFO 先入先出,里面存放的内容

    2024年02月08日
    浏览(61)
  • Linux内网服务器通过代理访问外网服务器

    目录 一、环境介绍 二、安装squid 三、配置代理 扩展一、JAVA应用通过代理访问外网 扩展二、通过nginx代理实现yum跳转 扩展三、代理harbor镜像方式访问 192.168.7.131可以通外网 192.168.7.129不通外网 需要通过代理的方式实现192.168.7.129可以访问外网  1、在192.168.7.131主机(可以访问外

    2024年02月08日
    浏览(51)
  • 配置公网访问内网服务器

    闲来无事,打算用 树莓派5 在家部署个小服务器,于是,申请了 动态公网ip 。便有了配置过程,又因为升级家里网络配置,选择了锐捷的子母路由进行 无线MESH 组网(后期看情况是否搞单线回程有线MESH,因为家里的配电箱空间太小了,没有接入交换机的空间)。 方案一:端

    2024年03月23日
    浏览(41)
  • frp-内网穿透部署-ubuntu22服务器-windows server-详细教程

    FRP是一个开源、简洁易用,高性能的内网穿透和反向代理软件,支持tcp、upp、http、https等协议。 可以去官网下载最新的frp编译好的文件,本文采用frp_0.32.1_windows_amd64版本。也可以在csdn下载。 按下字母“i”键, 在最后一行添加 PermitRootLogin yes配置,最后esc退出编辑模式,再“

    2024年02月06日
    浏览(47)
  • linux内网yum源服务器搭建

    1.nginx: 注:指定到镜像的包名    2.修改yum源地址 注: --enabled设置为1  3.重建yum缓存

    2024年02月10日
    浏览(60)
  • 【Linux内网穿透】】Linux本地搭建GitLab服务器 - 内网穿透远程访问

    转载自cpolar极点云文章:Linux搭建GitLab私有仓库,并内网穿透实现公网访问 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。 Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中

    2024年02月07日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包