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

用Linux防火墙构建软路由

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

  文主要介绍利用Linux自带的Firewall软件包来构建软路由的一种方法,此方法为内部网与外部网的互连提供了一种简单、安全的实现途径。Linux自带的Firewall构建软路由,主要是通过IP地址来控制访问权限,较一般的代理服务软件有更方便之处。
  
  一、防火墙
  
  防火墙一词用在计算机网络中是指用于保护内部网不受外部网的非法入侵的设备,它是利用网络层的IP包过滤程序以及一些规则来保护内部网的一种策略,有硬件实现的,也有软件实现的。
  
  运行防火墙的计算机(以下称防火墙)既连接外部网,又连接内部网。一般情况下,内部网的用户不能直接访问外部网,反之亦然。如果内部网用户要访问外部网,必须先登录到防火墙,由防火墙进行IP地址转换后,再由防火墙发送给外部网,即当内部网机器通过防火墙时,源IP地址均被设置(或称伪装,或称欺骗)成外部网合法的IP地址。经伪装以后,在外部网看来,内部网的机器是一个具有合法的IP地址的机器,因而可进行通信。外部网用户要访问内部网用户时,也要先登录到防火墙,经过滤后,仅通过允许的服务。
  
  由此可见,防火墙在内部网与外部网之间起到了两个作用:
  
  (1)IP包过滤——保护作用;
  
  (2)路由——网络互连作用。
  
  二、防火墙的安装
  
  1.硬件安装
  
  运行Linux防火墙的计算机上必须安装有两块网卡或一块网卡、一块Modem卡。本文以两块网卡为例。安装网卡,正确设置中断号及端口号,并为各网卡分配合适的IP地址。
  
  配置以后的防火墙模型。
  
  2.安装网关
  
  安装网关的方法有两种:一种是运行linuxconf,进入ROUTINGANDGATEWAYS选项,配置网关;另一种是修改rc.inet1文件。下面介绍修改rc.inet1文件的方法安装网关。
  
  进入/etc/rc.d/目录,键入virc.inet1回车,参照下面内容修改:
  
  IPADDR="202.114.194.130"#第一块卡的外部网IP地址
  
  NETMASK="255.255.255.128"#第一块卡的外部网子网掩码
  
  NETWORK="202.114.194.0"#第一块卡的外部网网段
  
  BROADCAST="202.114.194.255"#第一块卡的外部网广播地址
  
  GATEWAY="202.114.194.129"#第一块卡的外部网网关,也是
  
  默认网关
  
  IPADDR1="192.168.0.1"
  
  #第二块卡的内部网IP地址
  
  NETMASK1="255.255.255.0"
  
  #第二块卡的内部网子网掩码
  
  NETWORK1="192.168.0.0"
  
  #第二块卡的内部网网段
  
  BROADCAST1="192.168.0.255"
  
  #第二块卡的内部网广播地址
  
  /sbin/ifconfigeth0${IPADDR}
  
  broadcast${BROADCAST}metmask${NETMASK}
  
  #设置第一块卡
  
  /sbin/ifconfigeth1${IPADDR1}
  
  broadcast${BROADCAST1}metmask$
  
  {NETMASK1}
  
  #设置第二块卡
  
  /sbin/routeadd-net${NETWORK}
  
  netmask${NETMASK}
  
  /sbin/routeadddefaultgw$
  
  {GATEWAY}metric1
  
  /sbin/routeadd-net${NETWORK1}
  
  netmask${NETMASK1}
  
  要测试网关设置情况,可以用“ifconfig”命令测试,运行该命令后,会显示出eth0和eth1及上面我们修改的相关内容,如果没有显示这些相关信息,说明设置不正确,还要重新再来一次。
  
  三、构建软路由
  
  1.IP地址转换
  
  IP地址转换也称为IP地址伪装或IP地址欺骗,也就是指当内部网机器登录到防火墙上时,防火墙将内部网IP(不合法的外部网IP地址)伪装成合法的外部网IP地址,再与外部网通信。IP地址伪装的命令格式如下:
  
  ipfwadm-F-amasquerade-D0.0.0.0/0-Weth0
  
  其中“-D0.0.0.0/0”表示允许对所有内部网IP地址进行转换,“-Weth0”表示内部网IP地址是通过网卡1进行转换的。
  
  IP地址伪装设置完毕后,就可以在内部网机器上ping一下外部网的机器,如果防火墙上的forwarding没有被关闭的话,就可以ping通了,说明配置一切正确。
  
  2.设定访问外部网的权限
  
  为了加强对网络的管理,有时要对内部网访问外部网进行一定的限制,这种限制包括:(1)允许哪些机器可以上网;(2)允许访问哪些站点。
  
  限制上网机器可以参照以下脚本:
  
  ipfwadm-F-pdeny#全部拒绝内部网机器上网
  
  ipfwadm-F-am-S192.168.0.5/32
  
  -d0.0.0.0/0#允许192.168.0.5机器对
  
  外部网的访问
  
  限制访问站点,可以这样设置:
  
  ipfwadm-O-ireject-D0.0.0.0/0
  
  #对外部网的所有站点加以
  
  拒绝
  
  ipfwadm-O-iaccept-D202.114.0.0/16
  
  #允许访问202.114.0.0~
  
  202.114.255.255内的所有站点
  
  上述设置中,“0.0.0.0/0”表示全部网址,“202.114.0.0/16”表示202.114.0.0至202.114.255.255的所有站点。
  
  3.统计IP包流量
  
  IP包流量记账的设置如下:
  
  ipfwadm-A-f
  
  /sbin/ipfwadm-A-f
  
  /sbin/ipfwadm-Aout-I-S192.168.0.0
  
  /32-D0.0.0.0/0
  
  #对所有流出包
  
  统计
  
  /sbin/ipfwadm-Ain-I-S192.168.0.0
  
  /32-D0.0.0.0/0
  
  #对所有流入包
  
  统计
  
  所在记账的统计都存放于/proc/net/ip_acct文件中,其所有IP地址均为16进制表示。
  
  以上所有脚本,既可放置在/etc/rc.d文件中,也可单独设立shell脚本,用命令sh执行。
  
  以上设置均在RedHat5.1上运行通过。
推荐阅读
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • win10电脑蓝屏代码0x000000a5无法进入系统解决方法详解
    许多用户在使用电脑的时候遇到蓝屏问题,重启无法进入系统。本文提供了解决方法:调整BIOS设置、禁用安全启动、重装系统等。如果以上方法都无法解决问题,需要重新安装一个系统。详细步骤请参考正文内容。 ... [详细]
  • 微软小娜企业版发布新版本,提供构建自定义技能的套件
    微软将向企业级市场发布微软小娜企业版的新版本,该版本提供了构建自定义技能的套件,使企业员工可以更方便地使用数字助理。目前该套件仍处于内测期间,只有部分企业可以获得,其他有兴趣的企业需要继续等待。新版本的套件可以帮助员工构建各种自定义技能,如检查休假余额、创建服务凭证等。微软通过让多个开发人员编辑和管理机器人通道注册配置来改善开发者的体验,团队可以自行访问和更改技能注册,满足企业实际需求。微软小娜企业版已经在各个行业得到采用,能够帮助员工专注于优先事项,将非优先处理的任务交给微软小娜处理。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
author-avatar
超级-郁闷中
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有