linux 做gw(nat)详细配置
最近因为公司的路由器老化导致上网时断时续,上半小时网就断一次网,为此我头疼不已,本着为公司节约成本的宗旨,决定自己弄一台centos做网关路由,于是在网上各种搜索,东拼西凑,总算是把这网关路由给搞定了。看到网上没有一篇完整说明centos做网关路由的文档,于是决定把我这次部署网关路由的经历分享给大家。
我的环境是这样的:
外网固定IP是180.159.110.130(公司官网兼邮件)、180.159.110.127(VPN)
网关路由的eth0外网口IP是180.159.110.130,eth1内网口IP是192.168.200.1,与eth1对接的是panabit网络行为管理控制设备,然后接到三层交换机上,三层交换机与centos网关路由eth1口对应的IP是192.168.200.254。Email内网IP是192.168.20.12,VPN内网IP是192.168.20.127
系统:centos6.5最小化
网卡:eth0走外网,eth1走内网
拓扑如下:
部署步骤如下:
1、配置eth0网卡,信息如下:
DEVICE=eth0
HWADDR=14:DD:A9:E4:CF:32
TYPE=Ethernet
UUID=d60cfc7d-d34b-4e87-bce6-9fa216b8aee6
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=180.159.110.130
NETMASK=255.255.255.0
GATEWAY=180.159.110.225
配置eth0:1接口,信息如下:
DEVICE=eth0:1
HWADDR=14:DD:A9:E4:CF:32
TYPE=Ethernet
UUID=d60cfc7d-d34b-4e87-bce6-9fa216b8aee6
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=180.159.110.127
NETMASK=255.255.255.0
GATEWAY=180.159.110.225
2、配置eth1网卡,信息如下:
DEVICE=eth1
HWADDR=00:E0:4C:81:23:11
TYPE=Ethernet
UUID=01b13968-0049-4778-b2ae-ae18b81b8722
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.200.1
NETMASK=255.255.255.0
3、添加路由:
编辑/etc/sysconfig/network-scripts/route-eth1文件,内容如下:
192.168.0.0/16 via 192.168.200.254
表示所有192.168.0.0网段的内网主机都通过192.168.200.254到达网关路由,因为我这里内网有很多网段,所以用的16位掩码
查看路由表:
被红线画掉的是外网地址
4、启用转发和NAT,实现内外网的路由和NAT转换:
修改/etc/sysctl.conf文件,让包转发功能在系统启动时自动生效:
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
5、配置iptables:
编辑/etc/sysconfig/iptables文件:
6、设置iptables开机启动
chkconfig iptables on
reboot
到此,centos做为网关路由的工作基本完成,之后有什么其他的防火墙策略再另行添加即可。
linux 做gw(nat)详细配置的更多相关文章
- linux下安装MYSQL详细配置(转)
#tar zxvf mysql-5.0.18.tar.gz#cd mysql-5.0.18 #./configure --prefix=/usr/local/mysql --with-chars ...
- Window VNC远程控制LINUX:VNC详细配置介绍
Window VNC远程控制LINUX:VNC详细配置介绍 //---------------------------------------vnc linux下的详细配置 1.VNC的启动/停止/重 ...
- CentOS下配置iptables防火墙 linux NAT(iptables)配置
CentOS下配置防火墙 配置nat转发服务CentOS下配置iptables防火墙 linux NAT(iptables)配置 CentOS下配置iptables 1,vim /etc/syscon ...
- 【Oracle RAC】Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂)
[Oracle RAC]Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂) 2 Oracle11gR2 RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件 ...
- 【Oracle RAC】Linux系统Oracle12c RAC安装配置详细记录过程V2.0(图文并茂)
[Oracle RAC]Linux系统Oracle12c RAC安装配置详细过程V2.0(图文并茂) 2 Oracle12c RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件下载3 ...
- Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程
Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程 前言 第一步:下载Elasticsearch6.2.2 第二步:创建应用程序目录 第四步:创建Elastics ...
- 虚拟机Linux与本地虚拟网卡配置---NAT链接方式
虚拟机Linux与本地虚拟网卡配置---NAT链接方式 **********这是我亲自尝试多次实践出来的结果,不是复制粘贴************************* 首先进行初始化,这样避免有 ...
- 【Oracle RAC】Linux系统Oracle18c RAC安装配置详细记录过程(图文并茂)
本文Oracle 18c GI/RAC on Oracle Linux step-by-step 的安装配置步骤,同时也包含dbca 创建数据库的过程. 1. 关闭SELINUX,防火墙vi /etc ...
- 使用Docsify做文档网站的详细配置教程
使用Docsify做文档网站的详细配置教程 作者:xhemj 没错,它叫Docsify. xhemj的文档中心就是用这个写的 开源地址:https://github.com/docsifyjs/doc ...
随机推荐
- php 查询
<h1>租房信息</h1> <?php $db = ","asdadads"); $tj = "1=1"; $tj1 = ...
- Android笔记——Handler Runnable与Thread的区别
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:Thread类是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的run() ...
- WCF学习之旅—WCF服务部署到应用程序(十)
上接 WCF学习之旅—WCF寄宿前的准备(八) WCF学习之旅—WCF服务部署到IIS7.5(九) 五.控制台应用程序宿主 (1) 在解决方案下新建控制台输出项目 ConsoleHosting.如下 ...
- SQL Server 合并复制遇到identity range check报错的解决
最近帮一个客户搭建跨洋的合并复制,由于数据库非常大,跨洋网络条件不稳定,因此只能通过备份初始化,在初始化完成后向海外订阅端插入数据时发现报出如下错误: Msg 548, Level 16, S ...
- CodeSmith模板代码生成实战详解
前言 公司项目是基于soa面向服务的架构思想开发的,项目分解众多子项目是必然的.然而子项目的架子结构种类也过多的话,就会对后期的开发维护产生一锅粥的感觉.为了尽可能的在结构层避免出现这种混乱的现象,我 ...
- git推送文件至github缺少README文件
一直报这个错! 主要是因为本地仓库中缺少README这个文件. 解决办法:第一步:git pull --rebase origin master 将github中的README文件下到本地仓库中. 第 ...
- mysql交互式连接&非交互式连接
交互式操作:通俗的说,就是你在你的本机上打开mysql的客户端,就是那个黑窗口,在黑窗口下进行各种sql操作,当然走的肯定是tcp协议. 非交互式操作:就是你在你的项目中进行程序调用.比如一边是tom ...
- CRL快速开发框架升级到3.1
CRL是一款面向对象的轻量级ORM框架,本着快速开发,使用简便的原则,设计为 无需关心数据库结构,CRL自动维护创建,即写即用(CRL内部有表结构检查机制,保证表结构一致性) 无需第三方工具生成代理类 ...
- 放弃安卓原生TimePicker,选择wheelView打造更漂亮的时间get,以及动态拉伸输入框布局,这些,这里都有!
最近公司要求的上线项目有这么一个需求,要写一个请假申请的页面,里面必须有请假开始时间,结束时间,还有一个请假原因. 于是想到时间选择嘛,官方不是有个DatePicker吗?额,是不是要DatePick ...
- APNS 远程推送通知 PUSH deviceToken
服务器向客户端推送消息: 当应用程序推到后台,或者根本就没有运行(我们的代码无能为力) 如果这种情况之下,应用程序想和用户交互(传统的做法 不可能) 推送 APNS:Ap ...