- 论坛徽章:
- 0
|
小弟在 8.0 9.0 as 3.0 下做透明代理都成功了. 能实现正常上网的功能.
但在as 4.0下, 也能成功,但是有小问题.
以前我们在做透明代理的时候,大部分都把iptables的语法,放在/etc/rc.d/rc.local里,以便开机能自动运行或在/etc/rc.d目录下新建一个firewall文件把iptables语法放在firewall里, 在给firewall一个可以执行的权限然后在/etc/rc.d/rc.local里加上/etc/rc.d/firewall这个文件的路径就可以了.
大部分是这两种方法吧.
可是我在AS 4.0下遇到了问题:
我是按着第二种方法做的.先编辑/etc/rc.d/rc.local文件,在在/etc/rc.d目录下建立firewall文件,加上iptables的语法. 以给firewall文件可执行的权限.
以下是rc.local文件的内容:
[root@rhlinux rc.d]# less rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/etc/rc.d/firewall
以下是firewall的内容:
[root@rhlinux rc.d]# less firewall
#!/bin/bash
echo "Enable IP Forwarding..."
echo "1">;/proc/sys/net/ipv4/ip_forward
echo "Starting iptables rules..."
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to x.x.x.x
可是当我运行/etc/rc.d/firewall时,提示没有那个文件.具体如下:[root@rhlinux rc.d]# ./firewall
: No such file or directory
执行/etc/rc.d/rc.local时,也是如此.
[root@rhlinux rc.d]# ./rc.local
: No such file or directory
那么这样的话,我只能在开机后加上iptables的语法,才能实现透明代理,可是要是重启机器的话, iptables 的语法就没有了.
请问这个问题怎么解决呀,有没有用过AS 4.0 做透明代理的哥们呀.
以下是的显示可以看出,我的透明代理正常运行:
[root@rhlinux rc.d]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- 192.168.1.0/24 anywhere tcp dpt:http redir ports 3128
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- 192.168.1.0/24 anywhere to:218.9.119.59
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@rhlinux rc.d]#
注意, 我是实现了透明代理,只是不明白,为什么不能运行rc.local 和 firewall |
|