把iptables防火墙配置为网关服务器

简介:

    Linux防火墙除了提供数据包过滤功能外,还提供了一些基本的网关应用,本篇博客将介绍iptables防火墙的SNAT和DNAT策略:局域网共享一个公网IP地址接入Internet;向Internet发布位于内网的应用服务器。


SNAT策略

    SNAT(Source Network Address Translation,源地址转换)是Linux防火墙的一种地址转换操作,也是iptables命令的一种数据包控制类型,其作用是根据指定的条件修改数据包的源IP地址。处理数据包的时机是在选择路由之后(nat表的POSTROUTING链)进行,将局域网外发数据包的源IP地址(私有地址)修改为网关服务器的外网接口IP地址(公网地址)


案例:使用SNAT策略实现局域网共享一个公网IP地址接入Internet

    某公司使用双网卡Linux主机作为网关服务器,其中网卡eth0连接局域网,网卡eth1接入Internet。由于公司只注册了一个公网IP地址,要求合理配置网关策略,使局域网内的PC机可以通过共享的方式访问Internet,如下图所示:

杨书凡04.png


    在网关服务器上的操作步骤如下:

1. 打开网关的路由转发功能

(1)如果需要永久打开路由转发功能,可修改sysctl.conf配置文件

1
2
3
[root@localhost ~] # vim /etc/sysctl.conf
net.ipv4.ip_forward = 1                     // 将0(关闭)改为1(开启)
[root@localhost ~] # sysctl -p              //读取修改后的配置

(2)如果只希望临时开启路由转发,可执行以下操作

1
[root@localhost ~] # echo 1 > /proc/sys/net/ipv4/ip_forward

或者

1
2
[root@localhost ~] # sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward=1


2. 正确的设置SNAT策略

1
2
3
[root@localhost ~] # iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to-source 218.29.30.31   //设置SNAT策略,将源地址更改为公网IP地址
[root@localhost ~] # iptables -I FORWARD -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT                     //允许为网段192.168.1.0/24转发http流量
[root@localhost ~] # iptables -I FORWARD -d 192.168.1.0/24 -p tcp --sport 80 -j ACCEPT


3. 测试SNAT共享接入结果

    上述配置完成后,Internet上的web服务器的防火墙规则必须允许192.168.1.0/24网段流量访问,否则会导致访问失败。并在web服务器上安装httpd服务

(1)在局域网客户机上访问Internet上的web服务器

杨书凡05.png


(2)在Internet上的web服务器上查看日志

杨书凡06.png    



4. ADSL宽带接入上网

    在某些情况下,网关的外网IP地址可能并不是固定的,如使用ADSL宽带接入时。针对这种情况,iptables命令提供了一个特殊的控制类型,名为MASQUERADE(伪装),自动获取外网接口的IP地址,而无需使用“--to-source”指定固定的IP地址。

1
[root@localhost ~] # iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE




DNAT策略

    DNAT(Destination Network Address Translation,目标地址转换)是Linux防火墙的另一种地址转换操作,同样也是iptables命令的一种数据包控制类型,其作用是根据指定的条件修改数据包的目标IP地址和目标端口号,只能用在nat的表的PREROUTING链和OUTPUT链中

        

案例:使用DNAT策略向Internet发布位于内网的web服务器

    某公司使用双网卡Linux主机作为网关服务器,其中网卡eth0连接局域网,网卡eth1接入Internet,需要在Internet中发布位于内网的网站服务器,要求在Internet上访问公司的网站服务器,并使用SSH协议在Internet远程管理网关服务器和网站服务器。网关服务器SSH端口为2345,网站服务器SSH端口为2346

杨书凡09.png

    在网关服务器上的操作步骤如下:

1. 打开网关的路由转发功能

1
2
3
[root@localhost ~] # vim /etc/sysctl.conf
net.ipv4.ip_forward = 1                     // 将0(关闭)改为1(开启)
[root@localhost ~] # sysctl -p              //读取修改后的配置


2. 正确的设置DNAT策略

1
[root@localhost ~] # iptables -t nat -I PREROUTING -i eth1 -d 218.29.30.31 -p --dport 80 -j DNAT --to-destination 192.168.1.200   //设置DNAT策略,将目标地址更改为位于内网的网站服务器地址

 

3. 测试DNAT发布结果
    在网站服务器上安装httpd服务,并允许http流量访问,在Internet客户机上访问网站

杨书凡10.png



4. 修改网关服务器SSH端口

1
2
3
4
5
[root@localhost ~] # vim /etc/ssh/sshd_config     //添加一个端口2345
#Port 22
Port 2345                  
[root@localhost ~] # service sshd reload
重新载入 sshd:                                            [确定]



5. 在网关服务器上设置DNAT策略



1
[root@localhost ~] # iptables -t nat -I PREROUTING -i ech1 -d 218.29.30.31 -p tcp --dport 2346 -j DNAT --to-destination 192.168.1.200:22   //将218.29.30.21:2346转换成192.168.1.200:22


6. 在Internet客户机上连接网关服务器、网站服务器

   需要在Windows上安装SSHXshell、SecureCRT、Putty等图形工具,我用的是Xshell

杨书凡11.png

杨书凡12.png

杨书凡13.png










本文转自 杨书凡 51CTO博客,原文链接:http://blog.51cto.com/yangshufan/2056864,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
存储 人工智能 容灾
阿里云服务器2核8G、4核16G、8核32G配置热门实例性能对比与场景化选型指南
2核8G/4核16G/8核32G配置的阿里云服务器在阿里云活动中目前有经济型e、通用算力型u1、通用型g7、通用型g8y和通用型g9i五种实例可选,目前2核8G配置选择u1实例活动价格652.32元1年起,4核16G月付选择经济型e实例最低89元1个月,8核32G配置160元1个月起,本文将为大家解析经济型e、通用算力型u1、通用型g7及通用型g8y实例,帮助用户根据自身需求合理选择最适合的实例规格和配置。
|
6月前
|
弹性计算 ice
阿里云4核8G云服务器配置价格:热门ECS实例及CPU处理器型号说明
阿里云2025年4核8G服务器配置价格汇总,涵盖经济型e实例、计算型c9i等热门ECS实例,CPU含Intel Xeon及AMD EPYC系列,月费159元起,年付低至1578元,按小时计费0.45元起,实际购买享折扣优惠。
2192 1
|
7月前
|
存储 运维 安全
阿里云服务器2核4G与4核8G配置解析:实例规格、价格及选择指南
阿里云服务器2核4G和4核8G配置凭借其均衡的性能与性价比,成为中小企业及开发者群体的热门选择。通用算力型u1实例2核4G5M带宽80G ESSD Entry云盘特惠价199元1年,个人用户最低531.79元1年,4核8G配置价格最低的是通用算力型u1实例,活动价格为955.58元1年起,除此之外,还有计算型c7、c9i、c8y等计算型实例有2核4G与4核8G配置可选。具体配置还需要看想要购买的云服务器实例规格和配置及带宽大小。本文将结合2025年最新活动价格,深度解析阿里云服务器2核4G与4核8G配置的实例规格、适用场景及选择策略,以供参考。
|
7月前
|
机器学习/深度学习 存储 前端开发
阿里云服务器8核16G配置详解:热门实例规格、价格与选购指南
阿里云服务器8核16G配置,这样的配置能够满足大多数中小型网站、Web前端服务器以及计算密集型任务的需求。根据最新的收费标准及活动价格来看,云服务器8核16G配置收费标准最低的是经济型e实例,按量收费标准0.9元/小时,如果是需要年付的话,目前选择计算型c8y实例的活动价格为为2861.27元/1年起。本文为大家介绍8核16G配置的几款主要热门实例规格各自的性能与收费标准价格情况,以供选购参考。
|
7月前
|
存储 弹性计算 固态存储
阿里云服务器收费价格参考,2核16G、4核32G、8核64G配置收费标准
阿里云服务器2核16G、4核32G、8核64G配置最新租用价格更新,2核16G配置按量收费最低收费标准为0.596元/小时,按月租用标准收费标准为286.2元/1月。4核32G配置的阿里云服务器按量收费标准最低为1.192元/小时。8核64G配置的阿里云服务器按量收费标准最低为2.385元/小时。云服务器实例规格的地域和实例规格不同,收费标准不一样,下面是2025年阿里云服务器2核16G、4核32G、8核64G配置的最新租用收费标准。
1715 55
|
6月前
|
弹性计算 定位技术 数据中心
阿里云服务器配置选择方法:付费类型、地域及CPU内存配置全解析
阿里云服务器怎么选?2025最新指南:就近选择地域,降低延迟;长期使用选包年包月,短期灵活选按量付费;企业选2核4G5M仅199元/年,个人选2核2G3M低至99元/年,高性价比爆款推荐,轻松上云。
668 11
|
6月前
|
存储 弹性计算 网络协议
超详细的阿里云服务器购买流程,ECS自定义购买配置教程
本文详细图解阿里云ECS服务器自定义购买全流程,涵盖付费模式、地域选择、网络配置、实例规格、镜像、存储、安全组及登录设置等核心步骤,助您轻松掌握专业级云服务器搭建方法。
|
6月前
|
存储 弹性计算 监控
阿里云渠道商:如何挑选阿里云服务器配置?
本文详解通用型、计算型、内存型等实例适用场景,结合性能评估与成本优化策略,助力用户按需选择。以日均1万访问企业网站为例,2核4G+3M带宽月费约200元,性价比高。合理配置更省钱。
下一篇
开通oss服务