内网服务器通过单台外网服务器实现外网访问,iptables NAT
环境:
servera: 外网服务器
serverb: 内网服务器
servera内网网关(GATEWAY)要设置为外网IP,其IP地址作为其它内网服务器的网关
servera 内网网卡配置
[root@localhost network-scripts]# cat ifcfg-team0
TEAM_CONFIG="{ \"runner\": { \"name\": \"activebackup\" } }"
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=team0
UUID=6d3ea3f4-4302-458b-9284-b2ea83f6285b
DEVICE=team0
ONBOOT=yes
DEVICETYPE=Team
IPADDR=192.168.109.110 # 内网网卡IP,作为其它内网服务器网关
PREFIX=24
GATEWAY=10.10.133.147 # 外网网卡IP,如果还需要配置其它内网网卡,网关都要设置为此IP
DNS1=114.114.114.114
servera 外网网卡配置
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens160
UUID=b58dbc36-1daa-43e9-9425-6b4d702cc41d
DEVICE=ens160
ONBOOT=yes
IPADDR=10.10.133.147 # 外网网卡IP
PREFIX=24
GATEWAY=10.10.133.1 # 外网网关
DNS1=114.114.114.114
serverb 网关(GATEWAY)为servera内网IP地址,配置网卡后需重启网卡生效
serverb 内网网卡配置
[root@192-168-109-115 network-scripts]# cat ifcfg-team0
TEAM_CONFIG="{ \"runner\": { \"name\": \"activebackup\" } }"
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=team0
UUID=3af1f9c7-ad26-4680-8245-29dee0ddcda0
DEVICE=team0
ONBOOT=yes
DEVICETYPE=Team
IPADDR=192.168.109.115
PREFIX=24
GATEWAY=192.168.109.110 # 服务器servera内网IP地址
DNS1=114.114.114.114
配置ipv4转发
修改servera配置文件/etc/sysctl.conf ,修改参数为1
net.ipv4.ip_forward = 1
配置生效: sysctl -p
配置servera使得serverb及其他内网服务器能访问外网
配置servera的iptables规则
[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
192.168.109.0/255.255.255.0 : 指整个网段都生效,也可单独指定serverb
以上配置后,通过IP能访问外网,使用域名则不行,即使配置了DNS解析服务器,还需要在servera执行
[root@localhost network-scripts]# iptables -I FORWARD 1 -s 192.168.109.0/24 -j ACCEPT
# 允许所有源地址在192.168.109.0/24的IP经过本机
保存规则,使得下次开机启动也生效
[root@localhost network-scripts]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
# 如果有提示:Unit iptables.service could not be found. 则需安装iptables-services
内网服务器通过单台外网服务器实现外网访问,iptables NAT的更多相关文章
- 使用frp进行内网穿透,实现ssh远程访问Linux服务器
搭建一个完整的frp服务链需要: VPS一台(也可以是具有公网IP的实体机) 访问目标设备(就是你最终要访问的设备) 简单的Linux基础(如果基于Linux配置的话) 我这里使用了腾讯云服务器作为服 ...
- 单台DNS服务器搭建(BIND)
一.理论层面 1. DNS的出现及演化 网络出现的早期是使用IP地址通讯的,那是就几台主机通讯.但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的 ...
- 单网卡用双IP上内外网
网络 2008-09-22 17:42 阅读44 评论1 字号: 大 中 小 PC机同时上内外网一例 一个公司内部,一台pc机在上内网的同时,还要求上外网,如何在一块网卡上实现 ...
- Linux小项目/rhel-基于同步官网yum仓库数据搭建本地yum服务器
本文的实验环境:aws上的Redhat 7.x , 同样也适用于Centos 7.x 简单说主要分为三步: (1) 向官网同步yum数据,可以根据具体情况,创建脚本及配置周期例行任务 (2) 搭建w ...
- 爬虫实战(二) 用Python爬取网易云歌单
最近,博主喜欢上了听歌,但是又苦于找不到好音乐,于是就打算到网易云的歌单中逛逛 本着 "用技术改变生活" 的想法,于是便想着写一个爬虫爬取网易云的歌单,并按播放量自动进行排序 这篇 ...
- Memcached解决单台服务器故障问题
<beitmemcached> <add key="name1" value="server1:port" /> <add key ...
- 不要将缓存服务器与Tomcat放在单台机器上,否则出现竞争内存问题
缓存分为本地缓存和远程分布式缓存,本地缓存访问速度更快但缓存数据量有限,同时存在与应用程序争用内存的情况. 1.不要将缓存服务器与Tomcat放在单台机器上,否则出现竞争内存问题 2.不要将缓存服务器 ...
- php的redis 操作类,适用于单台或多台、多组redis服务器操作
redis 操作类,包括单台或多台.多组redis服务器操作,适用于业务复杂.高性能要求的 php web 应用. redis.php: <?php /* redis 操作类,适用于单台或多台. ...
- 进阶!基于CentOS7系统使用cobbler实现单台服务器批量自动化安装不同版本系统(week3_day5_part2)-技术流ken
前言 在上一篇博文<cobbler批量安装系统使用详解-技术流ken>中已经详细讲解了cobbler的使用以及安装,本篇博文将会使用单台cobbler实现自动化批量安装不同版本的操作系统. ...
- cobbler单台服务器实现批量自动化安装不同版本系统-技术流ken
前言 在上一篇博文<cobbler批量安装系统使用详解-技术流ken>中已经详细讲解了cobbler的使用以及安装,本篇博文将会使用单台cobbler实现自动化批量安装不同版本的操作系统. ...
随机推荐
- IDA动态调试快捷键
1. F2下断点2. F7进入函数,F8单步调试,F9跳到下一个断点,F2下断点,G调到函数地址3. N重名4. g跳到地址和函数名5. u取消把函数汇编变成机器码6. c就是把机器码变成汇编7. F ...
- SpringBoot项目实现日志打印SQL明细(包括SQL语句和参数)几种方式
前言 我们在开发项目的时候,都会连接数据库.有时候遇到问题需要根据我们编写的SQL进行分析,但如果不进行一些开发或者配置的话,这些SQL是不会打印到控制台的,它们默认是隐藏的.下面给大家介绍几种常用的 ...
- dotnet SemanticKernel 入门 开篇
本文将开坑告诉大家什么是 SemanticKernel 以及如何使用框架 众所周知 GPT 是一个大语言模型,能够参与的输入和输出是文本内容.而想要让 GPT 完成各项功能,则需要对接现有的编程世界. ...
- dotnet Roslyn 通过读取 suo 文件获取解决方案的启动项目
本文来告诉大家一个黑科技,通过 .suo 文件读取 VisualStudio 的启动项目.在 sln 项目里面,都会生成对应的 suo 文件,这个文件是 OLE 格式的文件,文件的格式没有公开,本文的 ...
- CMDB开发(一)
一.CMDB前戏 # 项目开发流程 1.需求分析 产品经理 开发人员 客户等三方会议 2.架构设计 框架的选择 语言选择 数据库选择 3.分组开发 小组成员各自开发各自的功能(可能也会有交集) 4. ...
- STLINK/V2下载器接线方法
一.ST-LINK ST-LINK产品如下图所示: ST-LINK接口定义如下图所示 ST-LINK与stm32接线 使用SW接法只需要四根线: STM32 ST-LINK VCC(3.3V) TVC ...
- 最近常用的几个【行操作】的Pandas函数
最近在做交易数据的统计分析时,多次用到数据行之间的一些操作,对于其中的细节,简单做了个笔记. 1. shfit函数 shift函数在策略回测代码中经常出现,计算交易信号,持仓信号以及资金曲线时都有涉及 ...
- Web Audio API 第6章 高级主题
高级主题 这一章涵盖了非常重要的主题,但比本书的其他部分稍微复杂一些. 我们会深入对声音添加音效,完全不通过任何音频缓冲来计算合成音效, 模拟不同声音环境的效果,还有关于空 3D 空间音频. 重要理论 ...
- SAP集成技术(一)历史
最近想读一本书<SAP Interface Management Guide>,打算边读边记录一些笔记.翻译主要由ChatGPT完成. 本文链接:https://www.cnblogs.c ...
- P3622 [APIO2007] 动物园 -题解
好写 爱写 没事干 所以有了这篇题解 洛谷P3622 [APIO2007] 动物园 题解 $Link$ hzoi题库 洛谷 题目说的挺繁琐,其实就传达了一个很简单的信息: \(n\)个动物,\(c\) ...