Linux下用iptables上网

运维 系统运维
Linux下用iptables上网:Iptables是Linux内核的一部分,他是Linux内核集成的IP信息包过滤系统。本文讲述的是如何在Linux下用iptables上网。

  在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的基本语法规则

责任编辑:zhaolei 来源: phpzixue
相关推荐

2009-12-17 09:56:18

2009-11-30 09:56:16

2011-03-16 16:54:10

iptables 清空linux

2011-04-21 09:54:14

Linuxiptables

2011-03-18 10:16:13

LinuxiptablesIP

2011-03-16 09:05:33

2011-03-16 10:12:27

LinuxIptables端口转发

2011-03-15 15:47:26

LinuxIptables防火墙

2009-06-27 21:32:19

LINUX

2011-03-15 17:12:11

2009-06-29 08:50:36

LINUX

2009-12-09 11:45:51

SUSELinuxADSL

2009-08-06 11:27:23

VMware虚拟机NA

2011-03-16 16:59:46

iptables 映射

2011-03-17 12:25:55

iptables ft

2009-03-25 16:42:04

LinuxNovellARM

2011-03-17 10:33:53

2011-03-16 14:22:00

Iptables命令Linux

2009-01-12 17:00:40

服务器虚拟化Linux

2011-09-27 11:09:13

点赞
收藏

51CTO技术栈公众号