热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

如何配置Linux中的IPMasq防火墙

文章标题:如何配置Linux中的IPMasq防火墙。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  ◎李伟革 郝丽蓉
  
  
  本文向读者介绍如何使用Linux下的IP Masquerade(简称IP Masq)防火墙功能。使用IP Masq可以实现NAT功能,这是网络防火墙的主要功能之一,用于中小型企、事业单位、居民生活小区通过单个注册的IP实现共享上网服务,特别是随着宽带网的普及,大量的用户需要使用Internet,为了解决IP地址短缺问题,使用Linux下的IP Masq是一种较理想的解决方案。要实现Linux下的IP Masq需要解决两个问题,即网络双网卡的正确安装和IP Masq的正确设置。
  
  一、 Linux下双网卡的正确安装
  
  1.设备环境
  ① IBM兼容PC机一台,IDE硬盘一块。
  ② Turbo Linux操作系统6.0。
  ③ 3Com ISA以太网卡3C509B-TPO两块。
  2.安装过程
  ① 在DOS系统下,使用3C509B网卡驱动程序中所带3c5x9cfg.exe调试程序配置、测试两块3Com ISA网卡参数(主要是IRQ中断号和I/O内存地址),保证两块网卡能够正常运行。
  ② 在计算机系统中,安装Turbo Linux操作系统,配置第一块网卡(IO=0x300),系统自动缺省识别网卡IOBASE=0x300,使用ping命令测试网卡状态。
  ③ 为了减少启动时可能出现的问题,Linux内核不会自动检测多个网卡。若需要在服务器上安装多块网卡,对于已经将网卡的驱动编译进内核中的系统,则需要在“/etc/lilo.conf”文件中指定各个网卡的参数信息; 而对于没有将网卡的驱动编译到内核而是作为模块动态载入的系统,应该在“conf.modules”文件中进行相应的配置。
  ④ 安装第二块网卡,在“/etc/lilo.conf”中增加配置信息,其方法是通过LILO程序将启动参数信息传递给内核。对于ISA卡,编辑“/etc/lilo.conf”文件,增加如下内容:ether=10,0x320,0,0,eth1。
  前四个参数是数字,最后一个参数是设备的名称。所有的数字变量都可以自由选择,如果用户忽略或是设置成0,那么核心会自动检测该设备的参数变量或使用默认值。第一个参数代表分配给设备的中断请求通道,默认情况下核心会自动检测设备的IRQ通道; 第二个参数变量用来指定设备的基本I/O地址,同样,如果这里是0,就意味着核心会自动检测该设备的I/O地址;剩下的两个参数变量对于不同的设备有不同的含义,对于共享内存的网卡,它们用来定义共享内存区域的起始点和结束点,对于其他网卡来说,它们使用第一个参数来设置信息的调试等级,数字1到7代表调试等级逐渐增加,而数字8表示关闭信息调试,0表示使用默认值。
  ⑤ 重新启动机器。
  ⑥ 通过Turbonetcfg增加eth1,并配置该网卡网络参数,如IP地址、网关等。
  ⑦ 重新启动机器,使用ping命令测试网卡状态。
  ⑧ 通过Ifconfig命令显示Interface接口状态。
  
  二、 IP Masq的正确设置 
  
  1.检查Linux 系统内核是否支持IP Masq
  检查Linux系统内核是否支持IP Masquerade。如果你手中的Linux版本支持如下特征:
  IPFWADM/IPCHAINS、IP forwarding 、IP masquerading 、IP Firewalling
  则你不需要重新编译Linux内核,如果你不太确信,可运行如下命令进行测试检查:
  # ls /proc/sys/net/ipv4
  如果如下文件存在,则Linux已支持IP Masquerade:“ip_forward”、“ip_masq_debug”、“ip_masq_udp_dloose”、“ip_always_defrag”。
  2.为内网分配私网IP地址
  私网地址用于企业内部基于TCP/IP技术的联网需要,它由The Internet Assigned Numbers Authority (IANA)分配,笔者采用了以下地址: 192.168.0.0/24。
  3.创建文件 /etc/rc.d/rc.firewall,编辑管理规则
  # rc.firewall - Initial SIMPLE IP Masquerade test for 2.1.x and 2.2.x kernels
  # FORWARD_IPV4=true
  echo “1” > /proc/sys/net/ipv4/ip_forward
  #CRITICAL: Enable automatic IP defragmenting since it is disabled by default
  # in 2.2.x kernels. This used to be a compile-time option but the behavior was changed in 2.2.12
  echo “1” > /proc/sys/net/ipv4/ip_always_defrag
  # MASQ timeouts 2 hrs timeout for TCP session timeouts
  # 10 sec timeout for traffic after the TCP/IP “FIN” packet is received
  # 160 sec timeout for UDP traffic (Important for Masq ’ed ICQ users)
  /sbin/ipchains -M -S 7200 10 160
  # Enable simple IP forwarding and Masquerading
  /sbin/ipchains -P forward DENY
  /sbin/ipchains -A forward -i eth0 -s 192.168.0.0/24 -j MASQ
  *注释 interface eth0为公网IP地址(Registered IP Address);
  编辑/etc/rc.d/rc.firewall文件的规则后,改变其文件权限为可执行如下命令:# chmod 700 /etc/rc.d/rc.firewall。
  4.将Firewall加载到启动脚本中
  当Firewall规则指定完毕后,需要重新启动计算机系统。你可以手工运行,也可以在系统中修改系统启动脚本使其自动执行。
  手动的方式是在系统命令提示符下,执行如下命令:#/etc/rc.d/rc.firewall。
  编辑启动脚本的方法是在/etc/rc.d/init.d文件中增加如下内容:/etc/rc.d/rc.firewall。
  运行IP Masq后,使用ping命令测试NAT的网络功能,检查IP Masq是否正常运行。
  下面是Linux IP Masq正常运行后的系统路由表。
  
推荐阅读
  • 三、寻找恶意IP并用iptables禁止掉找出恶意连接你的服务器80端口的IP,直接用iptables来drop掉它;这里建议写脚本来运行, ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了如何使用iptables添加非对称的NAT规则段,以实现内网穿透和端口转发的功能。通过查阅相关文章,得出了解决方案,即当匹配的端口在映射端口的区间内时,可以成功进行端口转发。详细的操作步骤和命令示例也在文章中给出。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在CentOS 7.x上进行端口映射配置的方法,通过修改内核和配置防火墙实现端口映射。作者分享了自己使用华为服务器进行端口映射的经验,发现网速比直连还快且稳定。详细的配置过程包括开启系统路由模式功能、设置IP地址伪装、设置端口映射等。同时,还介绍了如何监听本地端口的tcp请求,以及删除规则和开放的端口的方法。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
  • Linux防火墙配置—允许转发
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • UDP千兆以太网FPGA_verilog实现(四、代码前期准备UDP和IP协议构建)
    UDP:userDatagramprotocol用户数据报协议无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETFRFC76 ... [详细]
  • SQL Server 2008 到底需要使用哪些端口?
    SQLServer2008到底需要使用哪些端口?-下面就来介绍下SQLServer2008中使用的端口有哪些:  首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果 ... [详细]
  • 1、概述首先和大家一起回顾一下Java消息服务,在我之前的博客《Java消息队列-JMS概述》中,我为大家分析了:然后在另一篇博客《Java消息队列-ActiveMq实战》中 ... [详细]
author-avatar
uikankan
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有