CentOS7 服务器作为互联网路由器 | CentOS7 服务器作为互联网路由器
网络拓扑图及说明
说明
- 服务器通过静态IP上网,外网连接eth0口,IP为200.0.0.2;eth1口连接内网交换机,内网网段为192.168.10.1/24。
- 内网中的所有机器通过NAT上网,也要通过DHCP服务器自动获得IP地址。其中192.168.10.254为一台FTP服务器,需要对外提供FTP服务。
- 服务器本身不对外提供任何服务,仅对内网提供DHCP服务以及SSH管理。
- 内网机器使用运营商的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 -
推荐阅读
-
APScheduler 定时器使用 [简单版]:在 django 中使用 apscheduler,使用 mysql 作为存储后台
-
UTC] CentOS7 修改时区的正确姿势CentOS7 修改时区的正确姿势
-
利用 RouterOS 上的 BGP 全表优化多线互联网接入
-
Ubuntu 18.04.4 TLS 服务器版系统安装和 Ubuntu 18.04.4 桌面版安装
-
vmware 使用 centos7 最小化映像文件安装操作系统
-
阿里云轻量级应用服务器跨区域迁移至 ECS 并获取 IPV6
-
用于检查 ftp 备份服务器数据完整性和 SMS 警报的 Shell。
-
Android_通过内容服务器监听短信数据变化
-
在 CentOS7 上安装图形桌面系统(GNOME / KDE / Cinnamon / MATE / Xfce)
-
戴尔 r730 服务器安装 centos7 高内存占用 戴尔 r740 服务器安装 centos