环境:

​ servera: 外网服务器

​ serverb: 内网服务器

servera内网网关(GATEWAY)要设置为外网IP,其IP地址作为其它内网服务器的网关

  1. servera 内网网卡配置
  2. [root@localhost network-scripts]# cat ifcfg-team0
  3. TEAM_CONFIG="{ \"runner\": { \"name\": \"activebackup\" } }"
  4. PROXY_METHOD=none
  5. BROWSER_ONLY=no
  6. BOOTPROTO=none
  7. DEFROUTE=yes
  8. IPV4_FAILURE_FATAL=no
  9. IPV6INIT=yes
  10. IPV6_AUTOCONF=yes
  11. IPV6_DEFROUTE=yes
  12. IPV6_FAILURE_FATAL=no
  13. IPV6_ADDR_GEN_MODE=stable-privacy
  14. NAME=team0
  15. UUID=6d3ea3f4-4302-458b-9284-b2ea83f6285b
  16. DEVICE=team0
  17. ONBOOT=yes
  18. DEVICETYPE=Team
  19. IPADDR=192.168.109.110 # 内网网卡IP,作为其它内网服务器网关
  20. PREFIX=24
  21. GATEWAY=10.10.133.147 # 外网网卡IP,如果还需要配置其它内网网卡,网关都要设置为此IP
  22. DNS1=114.114.114.114
  23. servera 外网网卡配置
  24. TYPE=Ethernet
  25. PROXY_METHOD=none
  26. BROWSER_ONLY=no
  27. BOOTPROTO=none
  28. DEFROUTE=yes
  29. IPV4_FAILURE_FATAL=no
  30. NAME=ens160
  31. UUID=b58dbc36-1daa-43e9-9425-6b4d702cc41d
  32. DEVICE=ens160
  33. ONBOOT=yes
  34. IPADDR=10.10.133.147 # 外网网卡IP
  35. PREFIX=24
  36. GATEWAY=10.10.133.1 # 外网网关
  37. DNS1=114.114.114.114

serverb 网关(GATEWAY)为servera内网IP地址,配置网卡后需重启网卡生效

  1. serverb 内网网卡配置
  2. [root@192-168-109-115 network-scripts]# cat ifcfg-team0
  3. TEAM_CONFIG="{ \"runner\": { \"name\": \"activebackup\" } }"
  4. PROXY_METHOD=none
  5. BROWSER_ONLY=no
  6. BOOTPROTO=none
  7. DEFROUTE=yes
  8. IPV4_FAILURE_FATAL=no
  9. IPV6INIT=yes
  10. IPV6_AUTOCONF=yes
  11. IPV6_DEFROUTE=yes
  12. IPV6_FAILURE_FATAL=no
  13. IPV6_ADDR_GEN_MODE=stable-privacy
  14. NAME=team0
  15. UUID=3af1f9c7-ad26-4680-8245-29dee0ddcda0
  16. DEVICE=team0
  17. ONBOOT=yes
  18. DEVICETYPE=Team
  19. IPADDR=192.168.109.115
  20. PREFIX=24
  21. GATEWAY=192.168.109.110 # 服务器servera内网IP地址
  22. DNS1=114.114.114.114

配置ipv4转发

修改servera配置文件/etc/sysctl.conf ,修改参数为1

net.ipv4.ip_forward = 1

配置生效: sysctl -p

配置servera使得serverb及其他内网服务器能访问外网

  1. 配置serveraiptables规则
  2. [root@localhost network-scripts]# iptables -t nat -A POSTROUTING -s 192.168.109.0/255.255.255.0 -j SNAT --to-source 10.10.133.147
  3. 192.168.109.0/255.255.255.0 指整个网段都生效,也可单独指定serverb
  4. 以上配置后,通过IP能访问外网,使用域名则不行,即使配置了DNS解析服务器,还需要在servera执行
  5. [root@localhost network-scripts]# iptables -I FORWARD 1 -s 192.168.109.0/24 -j ACCEPT
  6. # 允许所有源地址在192.168.109.0/24的IP经过本机
  7. 保存规则,使得下次开机启动也生效
  8. [root@localhost network-scripts]# service iptables save
  9. iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
  10. # 如果有提示:Unit iptables.service could not be found. 则需安装iptables-services

内网服务器通过单台外网服务器实现外网访问,iptables NAT的更多相关文章

  1. 使用frp进行内网穿透,实现ssh远程访问Linux服务器

    搭建一个完整的frp服务链需要: VPS一台(也可以是具有公网IP的实体机) 访问目标设备(就是你最终要访问的设备) 简单的Linux基础(如果基于Linux配置的话) 我这里使用了腾讯云服务器作为服 ...

  2. 单台DNS服务器搭建(BIND)

    一.理论层面 1. DNS的出现及演化 网络出现的早期是使用IP地址通讯的,那是就几台主机通讯.但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的 ...

  3. 单网卡用双IP上内外网

    网络   2008-09-22 17:42   阅读44   评论1    字号: 大  中  小  PC机同时上内外网一例 一个公司内部,一台pc机在上内网的同时,还要求上外网,如何在一块网卡上实现 ...

  4. Linux小项目/rhel-基于同步官网yum仓库数据搭建本地yum服务器

    本文的实验环境:aws上的Redhat 7.x , 同样也适用于Centos 7.x 简单说主要分为三步: (1) 向官网同步yum数据,可以根据具体情况,创建脚本及配置周期例行任务  (2) 搭建w ...

  5. 爬虫实战(二) 用Python爬取网易云歌单

    最近,博主喜欢上了听歌,但是又苦于找不到好音乐,于是就打算到网易云的歌单中逛逛 本着 "用技术改变生活" 的想法,于是便想着写一个爬虫爬取网易云的歌单,并按播放量自动进行排序 这篇 ...

  6. Memcached解决单台服务器故障问题

    <beitmemcached> <add key="name1" value="server1:port" /> <add key ...

  7. 不要将缓存服务器与Tomcat放在单台机器上,否则出现竞争内存问题

    缓存分为本地缓存和远程分布式缓存,本地缓存访问速度更快但缓存数据量有限,同时存在与应用程序争用内存的情况. 1.不要将缓存服务器与Tomcat放在单台机器上,否则出现竞争内存问题 2.不要将缓存服务器 ...

  8. php的redis 操作类,适用于单台或多台、多组redis服务器操作

    redis 操作类,包括单台或多台.多组redis服务器操作,适用于业务复杂.高性能要求的 php web 应用. redis.php: <?php /* redis 操作类,适用于单台或多台. ...

  9. 进阶!基于CentOS7系统使用cobbler实现单台服务器批量自动化安装不同版本系统(week3_day5_part2)-技术流ken

    前言 在上一篇博文<cobbler批量安装系统使用详解-技术流ken>中已经详细讲解了cobbler的使用以及安装,本篇博文将会使用单台cobbler实现自动化批量安装不同版本的操作系统. ...

  10. cobbler单台服务器实现批量自动化安装不同版本系统-技术流ken

    前言 在上一篇博文<cobbler批量安装系统使用详解-技术流ken>中已经详细讲解了cobbler的使用以及安装,本篇博文将会使用单台cobbler实现自动化批量安装不同版本的操作系统. ...

随机推荐

  1. dotnet 记 TaskCompletionSource 的 SetException 可能将异常记录到 UnobservedTaskException 的问题

    本文将记录 dotnet 的一个已知问题,且是设计如此的问题.假定有一个 TaskCompletionSource 对象,此对象的 Task 没有被任何地方引用等待.在 TaskCompletionS ...

  2. 2018-12-26-WPF-开启-ScrollViewer-的触摸滚动

    title author date CreateTime categories WPF 开启 ScrollViewer 的触摸滚动 lindexi 2018-12-26 14:24:26 +0800 ...

  3. linux Makefile 如何将生成的 .o 文件放到指定文件夹

    一.Makefile文件 为了方便分析,直接上文件,Makefile 文件中的内容如下所示: # # Makefile # 编译的.o文件和.c文件在同一路径下 # $(info "star ...

  4. 一个在线下载地图XYZ瓦片的网站实现

    1. 什么是XYZ瓦片 XYZ瓦片是一种在线地图数据格式,常见的地图底图如Google.OpenStreetMap 等互联网的瓦片地图服务,都是XYZ瓦片,严格来说是ZXY规范的地图瓦片 ZXY规范的 ...

  5. 关于文心一言不能打开F12开发者工具

    直接被JS写死的debugger关键字下了断点.行吧,不让调试就不让调试吧,关闭开发者工具之后,直接跳到了空白页. 开发者工具Ctrl+F8可以禁用断点调试 点击查看代码 <!DOCTYPE h ...

  6. Git:国内用命令行访问GitHub的方法

    1 直接改Hosts文件(现在不太管用了) 如果你是Linux或Mac系统,那么可以通过命令sudo vim /etc/hosts打开Hosts文件,并加入以下内容: 140.82.114.25 al ...

  7. vue-router单页面应用的多标签页使用问题

    正常的思维 做多vue页面应用,我们的第一反应是配置多个入口点,多个vue应用,编译成多个HTML文件,由服务器来决定路由.这是正常的思维. 但谁知道单页面应用也能做到类似的效果呢.单页面不过是服务器 ...

  8. Composer 的下载与安装

    一,Composer 的下载与安装 官网下载:https://getcomposer.org/download/ 打开  penssl的注释,在  D:\wamp\php7230\php.ini  文 ...

  9. C# 方块热力图

      这张图右侧,0 3 6...... 30表示每个数字出现的次数,左侧就是每个数字出现次数的方块颜色图. 具体的思路是,找两个颜色 渐变的画出右侧的色条. 计算所有数字的最大最小次数,然后用他们色条 ...

  10. ASP.NET Core替换Action实际执行方法

    RequestDelegate 上次,我们在<如何判断当前请求的API类型>中查看endpoints.MapControllers()实现时,最终定位到ActionEndpointFact ...