内网服务器通过单台外网服务器实现外网访问,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实现自动化批量安装不同版本的操作系统. ...
随机推荐
- [PHP] composer, PHP Fatal error: Allowed memory size of xx bytes exhausted
终端执行 composer 命令时经常会遇到内存不够的情况. 视情况升级一下 composer,使用 composer self-update. 默认 php 的内存限制是 128M,临时取消 php ...
- 实用的 Bash 快捷键
前端也有需要运维的时候,这时我们不可避免需要登录 Linux 服务器,并在 Bash 终端输入一些命令,当需要对输入的命令进行一些操作时,比如快速移动光标位置或快速删除字符,如果只会用方向键和退格键, ...
- code::blocks更改编译器配置
- 06. rails gem 安装mysql
修改Gamefile Gamefile 里添加 gem 'mysql2' 执行命令行 bundle 可以看到下图片上已经安装好依赖了 修改配置文件 修改config/database.yml文件 # ...
- postgresql 去重&查最新一组记录 关键词partition by
- JDK源码阅读-------自学笔记(二十六)(java.util.Map 自定义讲解)
一.简介 Map就是用来存储"键(key)-值(value)"对的. 通过键寻找value,所以键不能重复. 数组的本质也是一种键值对,区别就是索引一般是数字,而Map的Key可以 ...
- 定了!AIRIOT新品发布会,6月6日北京见。
随着物联网.大数据.AI技术的成熟和演进,智能物联网技术正在加速.深入渗透至各行业应用. AIRIOT物联网平台作为赋能数字经济发展和产业转型的数字基座,由航天科技控股集团股份有限公司(股票代码:00 ...
- Json.NET Converting between JSON and XML
Json.NET supports converting JSON to XML and vice versa using the XmlNodeConverter. Elements, attrib ...
- Abp vNext框架 基础知识 依赖注入
依赖注入 ABP的依赖注入系统是基于Microsoft的依赖注入扩展库(Microsoft.Extensions.DependencyInjection nuget包)开发的.因此,它的文档在ABP中 ...
- flutter 打包web应用指定上下文
使用flutter build web命令打包的应用不包含上下文,只能部署在根目录.如何指定上下文,部署在子目录下呢? 有两种办法: 1.修改web/index.html文件 修改 <base ...