Linux下用iptables上网
创始人
2024-07-23 02:10:28
0

  在linux下用iptables代理上网

  1、网关/代理服务器(proxy server)

  iptables: linux下的防火墙软件

  iptables具备两种功能:

  1、firwall

  2、nat地址转换

  rpm -qa | grep iptables <查看有没有安装iptables>

  iptables-1.2.11-3.1.RHEL4

  service iptalbes start <启动iptables服务>

  iptables有两张表:1、当你用filter表时它认为是做防火墙

  2、当你用nat表时它认为你做代理上网

  iptables -t nat -L <查看nat表>

  nat表下面是链(Chain)

  1、PREROUTING <一般用来做透明代理上网>

  2、POSTROUTING <一般用来做单纯的nat地址转换>

  3、OUTPUT <出去的链>

  iptables -t nat -A(添加) POSTROUTING(添加一个POSTROUTING链) -s 202.106.20.0/24(代动哪个网段/哪些电脑去上网) -j(执行一个动作) MASQUERADE(ip地址伪装)

  target <执行什么动作>

  prot <协议>

  source <源地址>

  destination <目标地址>

  echo "1" > /proc/sys/net/ipv4/ip_forward <转发数据>

  想让代理上网永久生效我们要在linux下写一个脚本(可执行文件)

  脚本都放在 cd /bin

  1.   cd /bin  
  2.  
  3.   touch daili  
  4.  
  5.   chmod a+x daili  
  6.  
  7.   vi daili  
  8.  
  9.   #!/bin/bash  
  10.  
  11.   adsl-stop  
  12.  
  13.   adsl-start  
  14.  
  15.   route add default ppp0  
  16.  

  iptables -t nat -F <清空nat表里的所有规则>

  iptables -t filter -F <清空防火墙里的所有规则>

  1.   echo "1" > /proc/sys/net/ipv4/ip_forward  
  2.  
  3.   iptables -t nat -A POSTROUTING -s 202.106.20.0/24 -j MASQUERADE  
  4.  
  5.   iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE  
  6.  

  要想每一次开机就能自动带动下面的机器上网的话就执行下面的命令

  1.   vi /etc/rc.local  
  2.  

  把 /bin/daili 写到rc.local里

  (注:nat的客户端的网关都指向做代理上网那个电脑的ip)

  squid代理上网(缓存代理)

  端口号:tcp 3128

  rpm -qa | grep squid <查看有没有安装squid>

  1.   squid-2.5.STABLE6-3  
  2.  
  3.   vi /etc/squid/squid.conf  
  4.  

  http_port 3128 <把这名话放开>

  cache_mem 8 MB <代理上网的缓存用多大的内存去做缓存>

  cache_dir ufs /var/spool/squid 100 16 256 <把用户浏过的网存放在哪个位置>

  (100是这个目录可以存放多少100MB的东西这个可以改,它会在这个目录下建立16子目录用来存放网页,在16子目录下会建立256个子目录)

  acl LAN1 src 202.106.20.0/24

  acl LAN2 src 192.168.0.0/24 <定义哪个网段/哪些电脑能上网>

  http_access allow localhost LAN1 LAN2 <允许哪些电脑能上网,如:允许LAN1 LAN2C能上网>

  http_access deny <拒绝哪些电脑上网>

  squid -z <创建缓存目录>

  service squid start <启动squid服务>

  (注:squid的客户端要把IE浏览器中的Internet选项中的连接局域网设置下的代理服务器的ip和squid的端口3128)。这样,就可以在Linux下用iptables上网了。

【编辑推荐】

使用Iptables进行并发连接限制

如何用IPtables限制网络流量

Iptables的基本语法规则

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...