请配置过iptables的朋友进来看一下
时间:2003-08-10
来源:互联网
ADSL的IP是192.168.1.1,eth0是192.168.1.3,此机器拨ADSL上网正常,现在有另外一台机器B是Windows2000,IP是192.168.1.5,想用A机器作为**上网。
在机器A上配置了squid.conf,设置了默认监听端口为3128,启动,机器B中IE里面配置proxy server为192.168.1.3:3128,上网正常。
问题:
想设置为透明网关,所以配置了iptables。在/etc/init.d目录下建立了firewall文件,然后在/etc/init.d/boot.local中加入内容如下:
#!/bin/sh
echo "Enabling IP Forwarding..."
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Starting iptables rules..."
#Refresh all chains
/usr/sbin/iptables -F -t nat
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o dsl0 -j SNAT --to-source 200.200.200.200
机器B中将网关设置成192.168.1.3,但是无法上网。
上面是我从网上找到的配置例子,我改了一下,但是不知道改的对不对。比如dsl0和eth0的位置对吗?200.200.200.200这个IP什么意思?我该改成什么?
看了iptables的帮助,但是看不太懂。说"--to-source"是It specifies that the source address of the packet should be modified?
我应该如何配置iptables?
作者: Seraphim 发布时间: 2003-08-10
把这句话改了一下
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o dsl0 -j SNAT --to-source 200.200.200.200
把200.200.200.200改成ADSL拨号之后的公网IP,就OK了,现在这台windows2000的机器也可以上网了
但是这个方法并不适合ADSL拨号的,因为拨号后的公网IP每次都不一样,所以这个方法只适合有静态IP的机器。
再琢磨一下去。
作者: Seraphim 发布时间: 2003-08-10
#!/bin/sh
echo "Enabling IP Forwarding..."
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Starting iptables rules..."
#Refresh all chains
/usr/sbin/iptables -F -t filter
/usr/sbin/iptables -F -t nat
#############Define packets from Internet server to Intranet#######################
iptables -A FORWARD -p tcp -s 0/0 --sport ftp-data -d 198.168.1.0/24 -i ppp0 -j ACCEPT
iptables -A FORWARD -p udp -d 198.168.1.0/24 -i ppp0 -j ACCEPT
#############Define packets from Intranet to Internet###############
iptables -A FORWARD -s 198.168.1.0/24 -i eth0 -j ACCEPT
#################################Define fregment rule##############################
iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
#################################Define icmp rule##################################
iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
#################################Define Proxy rule##################################
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
客户端上网正常了。
但是还有一个问题,就是如果在win2000的机器上FTP一个关闭了PASV模式的FTP站点的话,无法获取站点文件列表,应该是:
iptables -A FORWARD -p tcp -s 0/0 --sport ftp-data -d 198.168.1.0/24 -i ppp0 -j ACCEPT
这句话允许客户端采用消极模式访问FTP服务器,但是为什么不行呢?
该睡觉了,总算是有些成果,呵呵。
作者: Seraphim 发布时间: 2003-08-10
最初由 Seraphim 发表 刚才在MSN上跟beyond_2000斑竹聊了一下,得到他的帮助,在此感谢 把这句话改了一下 |
作者: charley 发布时间: 2003-08-10
作者: Seraphim 发布时间: 2003-08-10
SuSE, Redhat对防火墙都有自己的管理方法, 虽然你自己写script也可以实现, 但很容易和系统原先的配置产生冲突, 最好是在系统原有的基础上修改。
作者: charley 发布时间: 2003-08-11
因为suse不同于其他发行版,很多设置是不一样的,对于我这样的新手来说,是很难的。真的是太高兴了!!
作者: chgtg 发布时间: 2004-10-13
谢谢!
作者: chgtg 发布时间: 2004-10-13
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28