当前位置: 首页 > news >正文

常州网站建设推广平台杭州哪家做外贸网站好

常州网站建设推广平台,杭州哪家做外贸网站好,手机网站分页,夸克搜索引擎入口iptables 防火墙#xff08;二#xff09; 一、SNAT 策略及应用SNAT 策略概述SNAT 策略的应用 二、DNAT 策略及应用DNAT 策略概述 三、规则的导出、导入规则的备份及还原iptables-save 命令iptables-restore 命令 使用 iptables 服务 四、使用防火墙脚本防火墙脚本的构成防火… iptables 防火墙二 一、SNAT 策略及应用SNAT 策略概述SNAT 策略的应用 二、DNAT 策略及应用DNAT 策略概述 三、规则的导出、导入规则的备份及还原iptables-save 命令iptables-restore 命令 使用 iptables 服务 四、使用防火墙脚本防火墙脚本的构成防火墙脚本示例 五、总结 在上一篇文章中我们初步了解了iptables防火墙的基本概念和基本使用方法。iptables是Linux系统下一款强大的网络数据包处理工具它可以用来设置允许哪些数据包通过以及拒绝哪些数据包并根据具体的规则来进行数据包过滤。本文将带大家进一步深入iptables的使用包括更复杂的规则设置、链的管理以及高级应用技巧。 一、SNAT 策略及应用 SNAT 策略概述 SNAT策略的典型应用环境 局域网主机共享单个公网IP地址接入Internet SNAT策略的原理 源地址转换Source Network Address Translation修改数据包的源地址 开启路由转发未设置地址转换的情况 正常情况下作为网关的 Linux 服务器必须打开路由转发才能沟通多个网络。未使用地址转换策略时从局域网 PC如 192.168.1.234访问 Internet 的数据包经过网关转发后其源 IP 地址保持不变当 Internet 中的主机收到这样的请求数据包后响应数据包将无法正确返回私有地址不能在 Internet 中正常路由从而导致访问失败 开启路由转发并设置 SNAT 转换的情况 如果在网关服务器中正确应用 SNAT 策略数据包转发情况就不一样了 SNAT 策略的应用 SNAT 策略只能用在 nat 表的 POSTROUTING 链使用 iptables 命令编写 SNAT 策略时需要结合“–to-source IP 地址”选项来指定修改后的源 IP 地址如-j SNAT --to-source 218.29.30.31 共享固定 IP 地址上网 Linux 网关服务器通过两块网卡 ens33、ens37 分别连接 Internet 和局域网其中 ens33 的 IP 地址为 218.29.30.31ens37 的 IP 地址为 192.168.1.1。所有局域网 PC 的默认网关设为 192.168.1.1且已经设置了正确的 DNS 服务器。要求 192.168.1.0/24 网段的 PC 能够通过共享方式正常访问 Internet。 1 打开网关的路由转发。 对于 Linux 服务器IP 转发是实现路由功能的关键所在对应为/proc 文件系统中的ip_forward 设置当值为 1 时表示开启为 0 时表示关闭。若要使用 Linux 主机作为网关设备必然需要开启路由转发。 # 永久打开路由转发功能 [rootlocalhost ~]# vi /etc/sysctl.conf …… # 省略部分内容 net.ipv4.ip_forward 1 # 将此行写入配置文件 [rootlocalhost ~]# sysctl -p # 读取修改后的配置 # 在测试过程中若只希望临时开启路由转发也可以执行以下操作。 [rootlocalhost ~]# echo 1 /proc/sys/net/ipv4/ip_forward # 或者 [rootlocalhost ~]# sysctl -w net.ipv4.ip_forward1 net.ipv4.ip_forward 12 正确设置 SNAT 策略。 通过分析得知需要针对局域网 PC 访问 Internet 的数据包采取 SNAT 策略将源地址更改为网关的公网 IP 地址参考以下操作在网关中设置防火墙规则。若要保持 SNAT 策略长期有效应将相关命令写入到 rc.local 配置文件以便开机后自动设置。 [rootlocalhost ~]# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ens33 -j SN AT --to-source 218.29.30.313 测试 SNAT 共享接入结果。 上述操作完成以后使用局域网中的 PC 就可以正常访问 Internet 中的网站了。对于被访问的网站服务器来说将会认为是网关主机218.29.30.31 在访问可观察Web 日志获知而并不知道实际上是企业内网的 PC 192.168.1.234 在访问。 共享动态 IP 地址上网 二、DNAT 策略及应用 DNAT 策略概述 DNAT策略的典型应用环境 在Internet中发布位于企业局域网内的服务器 DNAT策略的原理 目标地址转换Destination Network Address Translation修改数据包的目标地址 进行DNAT转换后的情况 发布企业内部的 Web 服务器 1 打开网关的路由转发。 [rootgw ~]# echo net.ipv4.ip_forward 1 /etc/sysctl.conf [rootgw ~]# sysctl -p net.ipv4.ip_forward 12 正确设置 DNAT 策略。 [rootgw ~]# iptables -t nat -A PREROUTING -d 192.168.72.154 -p tcp --dport 2333 -j DNAT --to-destination 192.168.72.145:22 [rootgw ~]# iptables -t nat -A POSTROUTING -d 192.168.72.145 -p tcp --dport 22 -j SNAT --to 192.168.72.1543 测试 DNAT 发布结果。 发布企业内部的 OpenSSH 服务器 1 配置 OpenSSH 服务。 2 打开网关的路由转发。 [rootgw ~]# echo net.ipv4.ip_forward 1 /etc/sysctl.conf [rootgw ~]# sysctl -p net.ipv4.ip_forward 13 正确设置 DNAT 策略。 [rootgw ~]# iptables -t nat -A PREROUTING -i ens33 -d 192.168.72.154 -p tcp --dport 3333 -j DNAT --to-destination 192.168.72.145:224 测试 DNAT 发布结果。 三、规则的导出、导入 规则的备份及还原 iptables-save 命令 iptables-save 命令用来批量导出 Linux 防火墙规则。直接执行 iptables-save 命令时 将显示出当前启用的所有规则。 [rootgw ~]# iptables-save iptables_kgc.txt # 备份所有表的规则iptables-restore 命令 iptables-retore 命令用来批量导入 Linux 防火墙规则如果已经使用 iptables-save 命令导出的备份文件则恢复规则的过程在一瞬间就能完成。与 iptables-save 命令相对的iptables-restore 命令应结合重定向输入来指定备份文件的位置。 [rootgw ~]# iptables-restore iptables_kgc.txt # 从备份文件恢复规则使用 iptables 服务 自动启用防火墙规则 在服务器中调试好各种 iptables 规则以后使用 iptables-save 备份为默认的规则配置文件/etc/sysconfig/iptables然后就可以通过 iptables 服务来调用。 [rootgw ~]# yum -y install iptables-service # 下载 iptables-service [rootgw ~]# cat iptables_kgc.txt /etc/sysconfig/iptables # 备份导入到配置文件 [rootgw ~]# systemctl start iptables # 启动服务 [rootgw ~]# systemctl enable iptables # 设置开机自启动服务清空所有防火墙规则 在调试各种防火墙规则的过程中为了排除其他规则的干扰有时候需要清空某些表的规则。当需要一次清空所有表的规则时停用 iptables 服务是最快捷的方法也是最彻底的方法。 [rootgw ~]# systemctl stop iptables # 停止防火墙服务 [rootgw ~]# systemctl status iptables # 确认防火墙服务的状态 ● iptables.service - IPv4 firewall with iptablesLoaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)Active: inactive (dead) since 一 2024-07-01 12:01:48 CST; 1s agoProcess: 9663 ExecStop/usr/libexec/iptables/iptables.init stop (codeexited, status0/SUCCESS)Process: 1692 ExecStart/usr/libexec/iptables/iptables.init start (codeexited, status0/SUCCESS)Main PID: 1692 (codeexited, status0/SUCCESS)7月 01 10:48:48 gw systemd[1]: Starting IPv4 firewall with iptables... 7月 01 10:48:48 gw iptables.init[1692]: iptables: Applying firewall rules: [ 确定 ] 7月 01 10:48:48 gw systemd[1]: Started IPv4 firewall with iptables. 7月 01 12:01:48 gw systemd[1]: Stopping IPv4 firewall with iptables... 7月 01 12:01:48 gw iptables.init[9663]: iptables: Setting chains to policy ACCEPT: filter nat [ 确定 ] 7月 01 12:01:48 gw iptables.init[9663]: iptables: Flushing firewall rules: [ 确定 ] 7月 01 12:01:48 gw systemd[1]: Stopped IPv4 firewall with iptables.四、使用防火墙脚本 防火墙脚本的构成 定义基本变量 将防火墙的网卡、IP 地址、局域网段、iptables 命令的路径等定义为变量便于对脚本程序的维护和移植使用特别是当规则较多的时候。一旦网络环境发生变化如公网 IP 地址变更只需对变量值稍做修改就可以投入使用了。 [rootlocalhost ~]# vim /opt/myipfw.sh //创建脚本文件 #!/bin/bash INET_IF ens33 //外网接口 INET_IP218.29.30.31 //外网接口地址 LAN_IFens37 //内网接口 LAN_IP 192.168.1.1 //内网接口地址 LAN_NET192.168.1.0/24 //内网网段 LAN_WWW_IP192.168.1.6 //网站服务器的内部地址 IPT/sbin/iptables //iptables 命令的路径 MOD/sbin/modprobe //modprobe 命令的路径 CTL/sbin/sysctl //sysctl 命令的路径设置好相关的变量以后在后续的脚本内容中就可以直接引用了。为了提高脚本代码的 可读性除了添加必要的注释之外变量名称最好使用有一定含义的字符串。 加载内核模块 在 CentOS 7.3 系统中iptables 命令的大部分模块都可以根据需要动态载入内核只有个别模块需要手动进行加载如与 FTP 发布相关的 ip_nat_ftp、ip_conntrack_ftp。但如果需要启用的规则数量较多为了提高规则设置的效率保持防火墙的稳定性建议将用到的各种模块提前加载到内核中。 $MOD ip_tables //iptables 基本模块 $MOD ip_conntrack //连接跟踪模块 $MOD ipt_REJECT //拒绝操作模块 $MOD ipt_LOG //日志记录模块 $MOD ipt_iprange //支持IP 范围匹配 $MOD xt_tcpudp //支持TCP、UDP 协议 $MOD xt_state //支持状态匹配 $MOD xt_multiport //支持多端口匹配 $MOD xt_mac //支持MAC 地址匹配 $MOD ip_nat_ftp //支持FTP 地址转换 $MOD ip_conntrack_ftp //支持FTP 连接跟踪调整/proc 参数 /proc 是 Linux 或 UNIX 系统中的一种伪文件系统机制提供了访问内核运行结构、改变内核设置的实时数据。与 EXT3、FAT32 等本地文件系统不同/proc 中的数据存放在内存中而不是硬盘上。在文件夹/proc/sys 下存放着与系统相关的一些可控参数可以直接用来改变内核的行为通常作为 Linux 内核调优的实时入口。其中包括是否打开 IP 转发、是否响应 ICMP 广播、设置好 TCP 响应超时等使用 echo、sysctl 命令都可以修改相关参数当然也可以写到/etc/sysctl.conf 文件执行 sysctl -p 后生效。 // 下面仅列出常用的几个/proc 参数调整更多细节、调优操作此处不做过多介绍有兴趣的同学请参阅其他资料。 $CTL -w net.ipv4.ip_forward1 //打开路由转发功能 $CTL -w net.ipv4.ip_default_ttl128 //修改ICMP 响应超时 $CTL -w net.ipv4.icmp_echo_ignore_all1 //拒绝响应ICMP 请求 $CTL -w net.ipv4.icmp_echo_ignore_broadcasts //拒绝响应ICMP 广播 $CTL -w net.ipv4.tcp_syncookies1 //启用SYN Cookie 机制 $CTL -w net.ipv4.tcp_syn_retries3 //最大SYN 请求重试次数 $CTL -w net.ipv4.tcp_synack_retries3 //最大ACK 确认重试次数 $CTL -w net.ipv4.tcp_fin_timeout60 //TCP 连接等待超时 $CTL -w net.ipv4.tcp_max_syn_backlog3200 //SYN 请求的队列长度上述脚本内容中ICMP 相关的参数调整可使本机忽略其他主机的 ping 测试TCP 相关的内核参数调整可适当提高本机抵抗 DoS 攻击的能力。 设置具体的 iptables 规则 1 清理已有的规则。 为了避免已有的防火墙规则造成干扰通常会预先安排一个“清理”操作删除所有表中用户自定义的链清空所有链内的规则。 $IPT -t filter –X //删除各表中自定义的链 $IPT -t nat -X $IPT -t mangle -X $IPT -t raw -X $IPT -t filter –F //清空各表中已有的规则 $IPT -t nat -F $IPT -t mangle -F $IPT -t raw -F2 设置规则链的默认策略。 在实际生产环境中防火墙过滤规则建议采取“默认拒绝”的策略可以获得更好的安全性。这就要求我们充分熟悉相关应用服务、网络协议才能够识别合法数据包制定出既防 护严格又行之有效的防火墙方案。 $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT ACCEPT 3 设置 nat 表中的各种规则。 iptables 的 nat 表主要用在 Linux 网关服务器中一般的主机型防火墙方案很少会用到nat 表。根据实际情况编写相应的 SNAT、DNAT 规则如局域网共享上网、发布内部 Web 服务器如果没有则跳过此部分。 $IPT -t nat -A POSTROUTING -s $LAN_NET -o $INET_IF -j SNAT --to-source $INET_IP $IPT -t nat -A PREROUTING -i $INET_IF -d $INET_IP -p tcp --dport 80 -j DNAT --to-dest ination $LAN_WWW_IP4 设置 filter 表的各种规则。 iptables 的 filter 表主要用来过滤数据包无论是 Linux 网关还是一般的 Linux 服务器都可能用到。主机型的防火墙主要使用 INPUT、OUTPUT 链而对于网络型的防火墙主要使用 FORWARD 链。 $IPT -A FORWARD -s $LAN_NET -o $INET_IF -p udp --dport 53 -j ACCEPT $IPT -A FORWARD -s $LAN_NET -o $INET_IF -p tcp --dport 80 -j ACCEPT $IPT -A FORWARD -s $LAN_NET -o $INET_IF -p tcp --dport 20:21 -j ACCEPT $IPT -A FORWARD -d $LAN_NET -i $INET_IF -m state --state ESTABLISHED, RELATED -j ACCEPT …… //省略部分内容需要说明的是在实际应用过程中不要过于生硬地照搬他人脚本内容应根据实际情 况进行有针对性的设计并做好整体测试避免因规则不当而导致网络通信故障。脚本文件编写完成以后为其添加“x”可执行权限就可以用来批量设置防火墙规则了。 若要使脚本文件在每次开机后自动运行可以将脚本路径写入/etc/rc.local 文件中。 [rootlocalhost ~]# chmod x /opt/myipfw.sh //添加执行权限 [rootlocalhost ~]# /opt/myipfw.sh //执行脚本文件 [rootlocalhost ~]# iptables -nL FORWARD //查看部分防火墙规则 Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT udp -- 192.168.1.0/24 0.0.0.0/0 udp dpt:53 ACCEPT tcp -- 192.168.1.0/24 0.0.0.0/0 tcp dpt:80 ACCEPT tcp -- 192.168.1.0/24 0.0.0.0/0 tcp dpts:20:21 ACCEPT all -- 0.0.0.0/0 192.168.1.0/24 state RELATED,ESTABLISHED [rootlocalhost ~]# vi /etc/rc.local //设置为开机自动执行 …… //省略部分内容 /opt/myipfw.sh防火墙脚本示例 熟悉了防火墙脚本的基本构成之后下面将展示一个简单的防火墙脚本文件——“主机型”防火墙脚本主要针对具体的规则设置部分内容仅供参考。对于大多数的应用服务器防火墙只需针对本机进行防护因此 filter 表中的 INPUT、OUTPUT 链用得最多特别是前者。例如可将 OUTPUT 链的默认策略设为允许不添加其他规则将 INPUT 链的默认策略设为拒绝只放行对个别服务如 Web的访问以及响应本机访问请求的数据包。 [rootlocalhost ~]# vi /opt/myipfw.hostonly #!/bin/bash # 1. 定义基本变量IPT/sbin/iptables CTL/sbin/sysctl # 2. 调整/proc 参数 $CTL -w net.ipv4.tcp_syncookies1 $CTL -w net.ipv4.tcp_syn_retries3 $CTL -w net.ipv4.tcp_synack_retries3 $CTL -w net.ipv4.tcp_fin_timeout60 $CTL -w net.ipv4.tcp_max_syn_backlog3200 # 3. 设置具体的防火墙规则 # 3.1 删除自定义链、清空已有规则 $IPT -t filter -X $IPT -t nat -X $IPT -t mangle -X $IPT -t raw -X $IPT -t filter -F $IPT -t nat -F $IPT -t mangle -F $IPT -t raw -F # 3.2 定义默认策略 $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT ACCEPT # 3.3 设置 filter 表中的各种规则 $IPT -A INPUT -p tcp --dport 80 -j ACCEPT $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT [rootlocalhost ~]# chmod x /opt/myipfw.hostonly五、总结 iptables防火墙是Linux系统下一款强大的网络数据包处理工具它可以根据数据包的源地址、目标地址、端口号、协议类型等信息来决定是否允许数据包通过。通过合理设置iptables的规则和链我们可以实现复杂的网络访问控制需求。同时iptables还支持日志记录、端口转发等高级功能可以满足更复杂的网络应用需求。希望本文能够帮助大家更好地理解和使用iptables防火墙。
http://www.tj-hxxt.cn/news/233097.html

相关文章:

  • 婚纱摄影网站设计案例海口网吧
  • 做网站 0元代理网络工程可以从事什么工作
  • 四川省住房和城乡建设厅网站首页网站空间哪个好
  • 做管理信息的网站吗天津网站大全
  • 东莞网站设计精英网站关键词优化排名怎么做
  • 做网站的难点一家专门做男人的网站
  • 免费做的英文网站小兽 wordpress主题
  • 网站两边广告代码学生个人静态网页制作过程
  • 上海建设行业的资质网站江苏营销型网站推广
  • 公众号做淘宝客接入手机网站域名查询ip
  • 平面设计相关的网站有哪些内容如何传图片做网站
  • 网站改版合同书品牌网站建设流程
  • 南阳做网站优化价格廊坊中小企业网站制作
  • 温州做网店的网站网页版是什么意思
  • 深圳便宜网站建设勒流网站建设制作
  • 网站动画效果怎么做网站建设制作软件叫啥
  • 简单设计网站做电脑租赁网站
  • 省级住房城乡建设主管部门网站长沙网站seo多少钱
  • 佛山做app网站合肥专业手机网站制作价格
  • 廊坊北京网站建设网站设计就业前景
  • 离开此网站系统可能不会保存您做的更改网站开发设计制作推广
  • 荥阳建设网站社交网站开发注意事项
  • 简单flash个人网站网页制作工具及用途
  • 网站设计字体最好用好看云在线网站模板下载 迅雷下载 迅雷下载地址
  • 营销网站手机站做网站 信科网站建设便宜
  • 住房城乡建设部官方网站怀化新站优化
  • 北京 做网站新万网
  • 响水做网站价格旅行社销售网站建设方案
  • 网站全站搜索代码营销网页制作
  • 网站建设构架wordpress数据表文档