QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 796|回复: 3

“透明代理”,终于搞定你!!!

[复制链接]
发表于 2004-7-30 19:38:16 | 显示全部楼层 |阅读模式
回头来想一想,其实配置透明代理并不困难,难的是一些奇奇怪怪的现象,要想一次成功,斋戒三日再来!
内容有些流水化,没办法,凑合着看吧。

环境:两台电脑,一个linux Fedora core 1(kernel:2.6.7),一个windows server 2003,
一个交换机,网卡三个,一根宽带接入线,可用IP:192.168.12.164/255.255.255.0。
目标:linux上安装两个网卡,作透明代理。

Let's go!

* 安装网卡
  启动时看是否找到eth,或者运行lspci,看是否找到,如找到记下型号,去网上找其具体芯片,编译内核、安装。

1、首次安装双网卡
事先我知道我的一个网卡(未安上的,8129)有点问题,不能上100M,在windows下也只能强制作10M用,因此,安在linux机上时,心里有些担心。
插上去,开机,系统找到网卡,但是没有eth1,知道驱动还是没有装上,编译内核,将8129驱动编译入核心,重启(痛苦的是,我的nvidia驱动编译一次核心就得重新安装一次)。
网卡驱动装上,心里一阵窃喜,linux难道能将破网卡改造成好网卡???
接上网线,就是一般的接法,宽带网线接一个网卡,另外一根网线接本机另一个网卡和交换机,然后,另另外一根网线接另外一个机器的网卡和交换机。
打开交换机电源,一看交换机的灯,解破网卡的那个口的指示灯一明一暗,知道它还是上不了100M,mii-tool修改强制指定工作模式,还是不行,晕死!


2、再次安装双网卡
醒来后,决定把这个破网卡换到windows机器上去,反正那台机器是我lp用,她用得少,呵呵,不会发觉的。
将8129安到windows机上,指定为10M,一切ok。
拆下来的网卡一看,原来是D-linux的530TX,插上去,开机,系统找到网卡,lspci,哦,原来是via的Rhine-II,内核中有驱动,再次编译核心,编译nvidia。(为什么一定要我编译显卡驱动阿,nvidia,告诉我,为什么阿????????哭泣中。。。。。。。。)
重启,顺利找到via-rhine

3、配置双网卡
cd /etc/sysconfig/network-scripts
cp ifcfg-eth0 ifcfg-eth1
设置如下:
ifcfg-eth1  接宽带线
------------------------------
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.12.164
NETMASK=255.255.255.0
GATEWAY=192.168.12.10

ifcfg-eth0  接交换机
------------------------------
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0

service network restart重新启动网络,看一切是否正常
ping 192.168.12.164
ping 192.168.12.10
ping 192.168.0.1
ping 192.168.0.251(另一台机器IP)
检查网络是否畅通

4、配置squid
具体配置很多,不说了
在251机器中,测试是否可以通过代理上网

5、配置iptables
配置也很多。我的如下
修改/etc/sysctl.conf,设置net.ipv4.ip_forward = 1
cp /etc/sysconfig/iptables-config /etc/sysconfig/iptables
我的配置如下:
# Load additional iptables modules (nat helpers)
#   Default: -none-
# Space separated list of nat helpers (e.g. 'ip_nat_ftp ip_nat_irc'), which
# are loaded after the firewall rules are applied. Options for the helpers are
# stored in /etc/modules.conf.
#IPTABLES_MODULES=""
#[0] -A PREROUTING -s 192.168.0.11 -p tcp -m tcp -i eth0 --dport 80 -j REDIRECT --to-ports 500
# Unload modules on restart and stop
#   Value: yes|no,  default: yes
# This option has to be 'yes' to get to a sane state for a firewall
# restart or stop. Only set to 'no' if there are problems unloading netfilter
# modules.
#IPTABLES_MODULES_UNLOAD="yes"

# Save current firewall rules on stop.
#   Value: yes|no,  default: no
# Saves all firewall rules to /etc/sysconfig/iptables if firewall gets stopped
# (e.g. on system shutdown).
#IPTABLES_SAVE_ON_STOP="no"

# Save current firewall rules on restart.
#   Value: yes|no,  default: no
# Saves all firewall rules to /etc/sysconfig/iptables if firewall gets
# restarted.
#IPTABLES_SAVE_ON_RESTART="no"

# Save (and restore) rule and chain counter.
#   Value: yes|no,  default: no
# Save counters for rules and chains to /etc/sysconfig/iptables if
# 'service iptables save' is called or on stop or restart if SAVE_ON_STOP or
# SAVE_ON_RESTART is enabled.
#IPTABLES_SAVE_COUNTER="no"

# Numeric status output
#   Value: yes|no,  default: no
# Print IP addresses and port numbers in numeric format in the status output.
#IPTABLES_STATUS_NUMERIC="no"
# Generated by webmin
*filter
:INPUT ACCEPT [0]
:FORWARD ACCEPT [0]
:OUTPUT ACCEPT [0]
COMMIT
# Completed
# Generated by webmin
*mangle
:INPUT ACCEPT [0]
:FORWARD ACCEPT [0]
:OUTPUT ACCEPT [0]
REROUTING ACCEPT [0]
OSTROUTING ACCEPT [0]
COMMIT
# Completed
# Generated by webmin
*nat
:OUTPUT ACCEPT [0]
REROUTING ACCEPT [0]
OSTROUTING ACCEPT [0]
# --------------------------------------------
#                 关键
# --------------------------------------------
-A PREROUTING -p tcp -m tcp -s 192.168.0.0/24 -i eth0 --dport 80 -j REDIRECT --to-ports 500
-A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to-source 192.168.12.164
# --------------------------------------------
# 注意里面的eth,第一据中是-i eth0,表示从eth0进来的数据,即内网数据
# 第二据是-o eth1,表示从eth1出去的数据,即发向外网的数据
# 这里的500表示我修改了squid的端口,没有使用默认的3128
# --------------------------------------------

COMMIT
# Completed

6、推荐使用webmin,再对着文章配置,比较方便
发表于 2004-7-30 21:54:19 | 显示全部楼层
朋友,可以把你aquid不是默认的地方也打上吗?
谢谢.
回复

使用道具 举报

 楼主| 发表于 2004-7-30 23:10:13 | 显示全部楼层
squid的配置我都是按照精华的内容来的,要注意的是如果要透明代理的话,需要设置一些较为特诉的地方。
其实设置squid比较简单,多看看大家的文章就可以了
关键是如何和iptables结合
回复

使用道具 举报

发表于 2004-7-31 09:47:38 | 显示全部楼层
up.........
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 00:51 , Processed in 0.042480 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表