神技能 | 手把手教您把CentOS7服务器变成上网路由器

网络拓扑图及说明

说明

  1. 服务器通过静态IP上网,外网连接eth0口,IP为200.0.0.2;eth1口连接内网交换机,内网网段为192.168.10.1/24。
  2. 内网中的所有机器通过NAT上网,也要通过DHCP服务器自动获得IP地址。其中192.168.10.254为一台FTP服务器,需要对外提供FTP服务。
  3. 服务器本身不对外提供任何服务,仅对内网提供DHCP服务以及SSH管理。
  4. 内网机器使用运营商的DNS。

配置步骤

(系统IP配置方法这里不再赘述)

1. 关闭系统自带的防火墙

停止firewalld服务

systemctl stop firewalld

禁止firewalld服务自启动

systemctl disable firewalld

2. 安装iptables防火墙和DHCP服务器

安装iptables服务

yum -y install iptables-services

安装dhcp服务

yum -y install dhcp

3、对iptables进行初始化工作

清空filter表

iptables -F

清空nat表

iptables -t nat -F

默认禁止所有传入连接

iptables -P INPUT DROP

默认允许所有传出连接

iptables -P OUTPUT ACCEPT

默认禁止路由转发

iptables -P FORWARD DROP

4、打开系统的IP转发功能

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf

不用重启,立即生效

sysctl -p

5、按以下模版配置DHCP服务器

配置文件位置:/etc/dhcp/dhcpd.conf

#为 192.168.10.0/24 提供DHCP服务 subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.2 192.168.10.253; #地址池范围 option broadcast-address 192.168.10.255; #广播地址 option routers 192.168.10.1; #默认网关 option domain-name-servers 202.96.134.33, 202.96.128.22; #运营商DNS服务器 option netbios-name-servers 192.168.10.1; #WINS服务器 option domain-name lan; #搜索域 default-lease-time 86400; #默认租约时间,单位为秒 max-lease-time 86400; #最长租约时间,单位为秒 } #FTP服务器设置静态IP绑定 host ftp_server { hardware ethernet 12:34:56:11:11:11; #FTP服务器的MAC地址 fixed-address 192.168.10.254; #绑定的IP地址 }

6、配置iptables的传入连接

允许环回接口的传入连接

iptables -A INPUT -i lo -j ACCEPT

允许已建立的传入连接

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

允许DHCP传入连接

iptables -A INPUT -i eth1 -p udp --dport 67:68 -j ACCEPT

允许SSH传入连接

iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT

7、配置iptables的NAT转发(重点)

允许来自内网的传出连接

iptables -A FORWARD -s 192.168.10.0/24 -j ACCEPT

开启源NAT功能

即将来自内网主机的IP转换为外网IP。

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to 200.0.0.2

配置端口映射

iptables -t nat -A PREROUTING -d 200.0.0.2 -p tcp --dport 21 -j DNAT --to 192.168.10.254

允许到FTP服务器的传入连接

iptables -A FORWARD -d 192.168.10.254 -p tcp --dport 21 -j ACCEPT

8、保存iptables配置

iptables-save > /etc/sysconfig/iptables

9、启动iptables和dhcp服务

启动iptables

systemctl start iptables

开机自动启动iptables

systemctl enable iptables

启动dhcpd

systemctl start dhcpd

开机自动启动dhcpd

systemctl enable dhcpd

配置完成!

作者:泽楠弟弟 来源:http://www.jianshu.com/p/f198c1a2e9ac


原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2017-08-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Debian上安装MongoDB

MongoDB是一个免费的开源NoSQL文档数据库,在现代Web应用程序中常用。本教程将帮助您在服务器上安装MongoDB,以便在生产应用环境中使用。您将安装M...

1712
来自专栏散尽浮华

部署Zipkin分布式性能追踪日志系统的操作记录

Zipkin是Twitter的一个开源项目,是一个致力于收集Twitter所有服务的监控数据的分布式跟踪系统,它提供了收集数据,和查询数据两大接口服务。 部署Z...

1.6K6
来自专栏Laoqi's Linux运维专列

日常运维管理(三)

一、网络相关 : yum install -y net-tools #ifconfig -a :查看全部的网卡信息 在centOS 7 中,我们使用的网卡为en...

4015
来自专栏L宝宝聊IT

linux编写iptables防火墙规则示例

2323
来自专栏Netkiller

Linux 系统安全与优化配置

Linux 系统安全与优化配置 Linux 系统安全问题 ---- 目录 1. Openssh 安全配置 1.1. 禁止root用户登录 1.2. 限制SSH验...

4825
来自专栏zhangdd.com

linux服务器 云虚拟主机基础安全设置

日常工作中有很多人会问,我买了阿里云的主机 买了腾讯 百度 的虚拟云主机,是不是就什么都不用做,直接用就行。这里说明一点,不是的主机提供商只是提供最基础的安全防...

3623
来自专栏Golang语言社区

Leaf 游戏服务器框架简介

下载地址: https://github.com/name5566/leaf/blob/master/TUTORIAL_ZH.md Leaf 游戏服务器框架简介...

6808
来自专栏北京马哥教育

iptables防火墙原理知多少?

1. netfilter与iptables Netfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安...

3116
来自专栏Linux运维学习之路

iptables网络安全服务详细使用

iptables防火墙概念说明 开源的基于数据包过滤的网络安全策略控制工具。 centos6.9  --- 默认防火墙工具软件iptables centos7 ...

2495
来自专栏容器云生态

Linux安全之iptables详解

基本上,依据防火墙管理的范围,我们可以将防火墙区分为网域型与单一主机型的控管。在单一主机型的控管方面, 主要的防火墙有封包过滤型的 Netfilter 与依据...

3015

扫码关注云+社区

领取腾讯云代金券