神技能 | 手把手教您把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

*声明:推送内容及图片来源于网络,部分内容会有所改动,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

- END -

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

原文发表时间:2018-10-26

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏容器云生态

Linux安全之iptables详解

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

2925
来自专栏北京马哥教育

iptables防火墙原理知多少?

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

3006
来自专栏会跳舞的机器人

ZooKeeper集群搭建

Zookeeper集群中只要有过半的节点是正常的情况下,那么整个集群对外就是可用的。正是基于这个特性,要将 ZK 集群的节点数量要为奇数(2n+1),如 3、5...

4452
来自专栏北京马哥教育

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

网络拓扑图及说明 说明 服务器通过静态IP上网,外网连接eth0口,IP为200.0.0.2;eth1口连接内网交换机,内网网段为192.168.10.1/24...

4217
来自专栏运维小白

Linux基础(day 34)

10.15 iptables filter表案例 iptables常用知识回顾点 iptables -I/-A/-D 后紧跟 链 ,可以是INPUT,OUTPU...

1826
来自专栏散尽浮华

haproxy反向代理环境部署(http和https代理)

操作背景: 前方有一台haproxy代理机器(115.100.120.57/192.168.1.7),后方两台realserver机器(192.168.1.15...

5805
来自专栏Golang语言社区

Leaf 游戏服务器框架简介

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

6158
来自专栏一个会写诗的程序员的博客

error: only position independent executables (PIE) are supported

由于使用了NDK编译的可执行文件在应用中调用,在4.4及之前的版本上一直没出问题。在AndroidL上的运行情况发现,当运行该可执行文件时,报如下错误:

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

iptables网络安全服务详细使用

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

20810
来自专栏L宝宝聊IT

Linux防火墙基础与编写防火墙规则

3047

扫码关注云+社区

领取腾讯云代金券