LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1324|回复: 12

请教大家:我用电信专线怎样通过用redhat9做代理,让局域网内都能上网?

[复制链接]
发表于 2005-11-23 11:14:25 | 显示全部楼层 |阅读模式
请教大家:我用电信专线怎样通过用redhat9做代理,让局域网内都能上网?我在本论坛找了很多资料,但都是关于adsl的,请大家指教,谢谢!
发表于 2005-11-23 13:05:05 | 显示全部楼层
ex:
eth0 : 192.168.0.1/24 eth1 202.40.0.2 gateway 202.44.0.1

vi /etc/sysctl.cof
net.ipv4.ip_forward = 1

#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT--to 202.40.0.2
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-23 16:59:01 | 显示全部楼层
请问楼上的老兄:
eth1 -j SNAT--to 202.40.0.2和net.ipv4.ip_forward = 1

是什么意思?
谢谢!
回复 支持 反对

使用道具 举报

发表于 2005-11-23 21:32:43 | 显示全部楼层
baidu

google
回复 支持 反对

使用道具 举报

发表于 2005-11-24 09:57:11 | 显示全部楼层
net.ipv4.ip_forward = 1 指允许内核转发数据

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT--to 202.40.0.2指把192.168.0.0/24转换成202.40.0.2向外访问
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-25 09:49:54 | 显示全部楼层
可是我按楼上的朋友说的办法设置后,还是只有代理服务器能上网,而局域网内的其它客户机都不能上网
我的IP:
eth0:203.94.26.2  netmask:255.255.255.0  gateway:203.94.26.1
eth1:192.168.96.22 netmask:255.255.255.0
/etc/sysctl.cof
net.ipv4.ip_forward = 1
#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to 203.94.26.2
请大家帮我再分析一下,谢谢!
回复 支持 反对

使用道具 举报

发表于 2005-11-25 10:54:16 | 显示全部楼层
内网机器的网关必须为192.168.96.22
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
做一下地址伪装就可以了。
还有:
iptables -L -n -t nat
iptables -L -n
看看是否还有别的规则。

-----------
修改/etc/sysctl.conf只能是下次启动时生效,要立即生效还必须
echo 1 > /proc/sys/net/ipv4/ip_forward才行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-25 11:14:09 | 显示全部楼层
多谢楼上的朋友的关注!
我按照您的方法,在/etc/rc.d/rc.local中做了如下修改:
touch /var/lock/subsys/local
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
然后运行:
[root@linux root]# iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
SNAT       all  --  192.168.0.0/24       0.0.0.0/0          to:203.94.26.2
MASQUERADE  all  --  192.168.0.0/24       0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

[root@linux root]# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

改完后,我把所有客户端的网关都设为:192.168.96.22后,又把Linxu代理服务器重新启动了一次,还是不行,我现在该怎么做,谢谢关注!
回复 支持 反对

使用道具 举报

发表于 2005-11-30 11:46:10 | 显示全部楼层
试试这样:
1 查看已存在的iptables 的设置
iptables -L -n
iptables -t nat -L -n

2 扇区所有的iptables规则
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
3 打开ip转发
echo 1  > /proc/sys/net/ipv4/ip_forward
4 加载模块
modprobe ip_tables
modprobe ip_net_ftp
5 设置iptables全部接受
iptables -P INPUT ACEPT
iptables -P OUTPUT ACEPT
iptables -P FORWARD ACEPT
6ip伪装
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

先设置好你的etho 和 eth1 ,eth0为接电信的网卡,局域网的机器的网关为eth1的ip。要注意输入命令时的大小写我用这个设置能够上网。
当然每次重新启动服务器 iptables 的设置都要重新配置。 所以最好把上面的设置写成脚本每次开机就自动运行。
回复 支持 反对

使用道具 举报

发表于 2005-11-30 14:56:10 | 显示全部楼层
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to 203.94.26.2
应该是iptables -t nat -A POSTROUTING -s 192.168.96.0/24 -o eth0 -j SNAT --to 203.94.26.2
因为从你的情况看,你内网的网段应该是192.168.96.0/24
回复 支持 反对

使用道具 举报

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

本版积分规则

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