其实在Linux下配置网关服务器很简单,如果配置好之后出现无法访问外网的情况,那么可以排查以下情况:

1、防火墙和iptables的服务关掉(firewalld、iptables)

2、清空iptables的规则(iptables -F、iptables -X、iptables -F -t nat、iptables -X -t nat)

3、转发开启(/etc/sysctl.conf-> net.ipv4.ip_forward=1)

通过以上的配置一般可以配置成功。

下面是实验环境:

说明一下,网关可以两个网卡,同样也不一定需要两个网卡,一张网卡也是可以的。

PC1:

eth0:192.168.104.12/255.255.255.0/192.168.104.1,DNS:8.8.8.8

PC2:

eth0:192.168.104.13/255.255.255.0/192.168.104.12,DNS:8.8.8.8

下面是实际配置:

PC1:

# 开启转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
# 生效
sysctl -p
# 配置iptables做SNAT,下面有两种方式,推荐用第二种,比较清晰
# 1、使用MASQUERADE
iptables -t nat -I POSTROUTING -j MASQUERADE
# (不需要设置)可以指定哪个网卡
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
# (不需要设置)也可以指定具体的网段做SNAT
iptables -t nat -I POSTROUTING -s 192.168.104.0/24 -j MASQUERADE # 2、(推荐这种)指明SNAT的具体IP
iptables -t nat -I POSTROUTING -j SNAT --to-source 192.168.104.12
# (不需要设置)可以指定哪个网卡
iptables -t nat -I POSTROUTING -o eth0 -j SNAT --to-source 192.168.104.12
# (不需要设置)也可以指定具体的网段做SNAT
iptables -t nat -I POSTROUTING -s 192.168.104.0/24 -j SNAT --to-source 192.168.104.12

PC2:

此时只需要在/etc/sysconfig/network-script/ifcfg-eth0修改GATEWAY=192.168.104.12,也就是修改网关地址。

总结:

1、其实如果你时间过一张网卡的情况时,那么你会发现只要开启了内核转发功能之后不需要配置iptables也是可以行的。

2、当两张网卡是情况,实体机,一张连接外网,一张内网连接交换机,再连接多个子PC,此时iptables就是必须的,且SNAT也必须为外网网卡IP。

CentOS 7配置成网关服务器的更多相关文章

  1. Centos安装配置Postfix邮件服务器

    发布时间:July 6, 2012 // 分类:Mail // No Comments 在安装邮件服务器之前先了解几个名词,以后会用到: 1 2 3 4 5 6 MUA:用户代理端,即用户使用的写信. ...

  2. Linux配置成网关

    之前按照诸葛建伟的metasploit魔鬼训练营搭了个简单的内网环境,其中就是一台linux作为内网网关.但是虚拟机开启的时候经常出现包不能转发的情况,也就是网关没有配置好. 在网上找了好几个才找到适 ...

  3. CentOS 上配置 lua 的服务器环境(enet)

    安装 lua & luarocket 安装依赖 $ yum install gcc gcc-c++ kernel-devel $ yum install readline-dev $ yum ...

  4. Centos安装配置Postfix邮件服务器--网址

    http://www.haiyun.me/archives/centos-install-postfix.html http://blog.csdn.net/liuyunfengheda/articl ...

  5. linux+iptables搭建网关服务器

    公司购买的一批云服务器只带内网,配置了一个负载均衡器(lb),这批服务器通过lb可以对外提供服务,但是这批服务器不能主动连接外网,例如使用wget下载文件,或者curl访问ttlsa.com站点. 额 ...

  6. DNS BIND配置 配置基本缓存服务器 DNS正向解析 DNS反向解析

    一. 缓存服务器配置 1.DNS:BIND    Berkeley Internet Name Domain    版本bind97: RPM服务器端包的名字  安装bind-libs    bind ...

  7. 阿里云CentOS 7无外网IP的ECS访问外网(配置网关服务器)

    说明: 1.必须要有一台机器具有外网IP的ECS. 2.如果不想配置具有外网IP的ECS时,可以购买NAT网关,但需要钱,贵.下面会说明NAT网关的配置. 3.最后吐槽一下阿里云VPC网关导致不能按照 ...

  8. CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下   一.简介  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...

  9. 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署

    阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...

随机推荐

  1. php BCMath高精度计算

    Php: BCMath bc是Binary Calculator的缩写.bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(string    right_ ...

  2. linux下几个常用软件

    Ubuntu 软件包地址 https://packages.ubuntu.com/ 一. 字体 不管是雅黑还是宋体,从windows cp过来后, 直接双击打开并安装 二. Meld 可视的diff和 ...

  3. One point compactification

    Theorem (One point compactification) Any locally compact space \(X\) can be embedded in another comp ...

  4. Android动画模式

    在Android中,有两种动画模式:Tween Animation(渐变动画)和Frame Animation(帧动画).渐变动画是通过对场景里的对象不断做图像变换(平移.缩放.旋转等)来产生动画效果 ...

  5. md5爆破工具

    http://www.myhack58.com/Article/html/3/8/2015/65021.htm http://xlixli.net/?p=410 http://blog.csdn.ne ...

  6. 去掉select的原有样式

    1:设置select的边框为0px,背景设成透明(background: transparent;),这时候你会看到边框没有了,但是小三角还是在的.再在select外面加个div,固定死div的宽度, ...

  7. js压缩图片上传插件localResizeIMG

    示例 /** * 本地图片压缩后上传 */ $("#vfile").change(function(){ var _this = $(this); lrz(this.files[0 ...

  8. BZOJ1117 [POI2009]救火站Gas 贪心

    原文链接https://www.cnblogs.com/zhouzhendong/p/BZOJ1117.html 题目传送门 - BZOJ1117 题意 给你一棵树,现在要建立一些消防站,有以下要求: ...

  9. JAVA中值类型和引用类型的不同(面试常考)

    转载:https://www.cnblogs.com/1ming/p/5227944.html 1. JAVA中值类型和引用类型的不同? [定义] 引用类型表示你操作的数据是同一个,也就是说当你传一个 ...

  10. 工具Maven

    Maven 1.使用Maven后每个jar包只在本地仓库中保存一份,需要jar包的工程只需要维护一个文本形式的jar包的引用——我们称之为“坐标”. 2.Maven就可以替我们自动的将当前jar包所依 ...