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)详细配置的更多相关文章

  1. linux下安装MYSQL详细配置(转)

      #tar zxvf mysql-5.0.18.tar.gz#cd  mysql-5.0.18 #./configure --prefix=/usr/local/mysql --with-chars ...

  2. Window VNC远程控制LINUX:VNC详细配置介绍

    Window VNC远程控制LINUX:VNC详细配置介绍 //---------------------------------------vnc linux下的详细配置 1.VNC的启动/停止/重 ...

  3. CentOS下配置iptables防火墙 linux NAT(iptables)配置

    CentOS下配置防火墙 配置nat转发服务CentOS下配置iptables防火墙 linux NAT(iptables)配置 CentOS下配置iptables 1,vim /etc/syscon ...

  4. 【Oracle RAC】Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂)

    [Oracle RAC]Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂) 2 Oracle11gR2 RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件 ...

  5. 【Oracle RAC】Linux系统Oracle12c RAC安装配置详细记录过程V2.0(图文并茂)

    [Oracle RAC]Linux系统Oracle12c RAC安装配置详细过程V2.0(图文并茂) 2 Oracle12c RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件下载3 ...

  6. Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程

    Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程 前言 第一步:下载Elasticsearch6.2.2 第二步:创建应用程序目录 第四步:创建Elastics ...

  7. 虚拟机Linux与本地虚拟网卡配置---NAT链接方式

    虚拟机Linux与本地虚拟网卡配置---NAT链接方式 **********这是我亲自尝试多次实践出来的结果,不是复制粘贴************************* 首先进行初始化,这样避免有 ...

  8. 【Oracle RAC】Linux系统Oracle18c RAC安装配置详细记录过程(图文并茂)

    本文Oracle 18c GI/RAC on Oracle Linux step-by-step 的安装配置步骤,同时也包含dbca 创建数据库的过程. 1. 关闭SELINUX,防火墙vi /etc ...

  9. 使用Docsify做文档网站的详细配置教程

    使用Docsify做文档网站的详细配置教程 作者:xhemj 没错,它叫Docsify. xhemj的文档中心就是用这个写的 开源地址:https://github.com/docsifyjs/doc ...

随机推荐

  1. php 查询

    <h1>租房信息</h1> <?php $db = ","asdadads"); $tj = "1=1"; $tj1 = ...

  2. Android笔记——Handler Runnable与Thread的区别

    在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:Thread类是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的run() ...

  3. WCF学习之旅—WCF服务部署到应用程序(十)

    上接  WCF学习之旅—WCF寄宿前的准备(八) WCF学习之旅—WCF服务部署到IIS7.5(九) 五.控制台应用程序宿主 (1) 在解决方案下新建控制台输出项目 ConsoleHosting.如下 ...

  4. SQL Server 合并复制遇到identity range check报错的解决

        最近帮一个客户搭建跨洋的合并复制,由于数据库非常大,跨洋网络条件不稳定,因此只能通过备份初始化,在初始化完成后向海外订阅端插入数据时发现报出如下错误: Msg 548, Level 16, S ...

  5. CodeSmith模板代码生成实战详解

    前言 公司项目是基于soa面向服务的架构思想开发的,项目分解众多子项目是必然的.然而子项目的架子结构种类也过多的话,就会对后期的开发维护产生一锅粥的感觉.为了尽可能的在结构层避免出现这种混乱的现象,我 ...

  6. git推送文件至github缺少README文件

    一直报这个错! 主要是因为本地仓库中缺少README这个文件. 解决办法:第一步:git pull --rebase origin master 将github中的README文件下到本地仓库中. 第 ...

  7. mysql交互式连接&非交互式连接

    交互式操作:通俗的说,就是你在你的本机上打开mysql的客户端,就是那个黑窗口,在黑窗口下进行各种sql操作,当然走的肯定是tcp协议. 非交互式操作:就是你在你的项目中进行程序调用.比如一边是tom ...

  8. CRL快速开发框架升级到3.1

    CRL是一款面向对象的轻量级ORM框架,本着快速开发,使用简便的原则,设计为 无需关心数据库结构,CRL自动维护创建,即写即用(CRL内部有表结构检查机制,保证表结构一致性) 无需第三方工具生成代理类 ...

  9. 放弃安卓原生TimePicker,选择wheelView打造更漂亮的时间get,以及动态拉伸输入框布局,这些,这里都有!

    最近公司要求的上线项目有这么一个需求,要写一个请假申请的页面,里面必须有请假开始时间,结束时间,还有一个请假原因. 于是想到时间选择嘛,官方不是有个DatePicker吗?额,是不是要DatePick ...

  10. APNS 远程推送通知 PUSH deviceToken

    服务器向客户端推送消息:      当应用程序推到后台,或者根本就没有运行(我们的代码无能为力)      如果这种情况之下,应用程序想和用户交互(传统的做法 不可能)      推送 APNS:Ap ...