LinuxSir.cn,穿越时空的Linuxsir!

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

为什么我加在rc.local文件中的iptalbes命令没执行?

[复制链接]
发表于 2004-11-30 20:11:13 | 显示全部楼层 |阅读模式
我加入了
echo 1 > /proc/sys/net/ipv4/ip_forward
iptalbes -t nat -A POSTROUTING -o eth1 -j MASQUERADE
两条命令,但第二条好像没有效果,在命令行中再次输入才有效,否则内网的机子不能访问internet,这是怎么回事?
发表于 2004-11-30 20:57:34 | 显示全部楼层
可能启动时你的iptables比local后运行,就是在/etc/rc.d/rc3.d中Sxxlocal的数字比Sxxiptables要小,可以改名的。

另外,内网的机子访问internet好象用ppp0,你这样可以吗?
发表于 2004-11-30 21:06:52 | 显示全部楼层

回复: 为什么我加在rc.local文件中的iptalbes命令没执行?

最初由 binbinchen 发表
我加入了
echo 1 > /proc/sys/net/ipv4/ip_forward
iptalbes -t nat -A POSTROUTING -o eth1 -j MASQUERADE
两条命令,但第二条好像没有效果,在命令行中再次输入才有效,否则内网的机子不能访问internet,这是怎么回事?

/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
 楼主| 发表于 2004-11-30 21:16:05 | 显示全部楼层
可能启动时你的iptables比local后运行,就是在/etc/rc.d/rc3.d中Sxxlocal的数字比Sxxiptables要小,可以改名的。

另外,内网的机子访问internet好象用ppp0,你这样可以吗?


我看了一下是s03iptables,s99local,是数字小的先运行,还是数字大的先运行啊?
我不用拨号上网的,可以通过eth1直接访问internet.


/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE


楼上有朋友,是不是一定要指定命令所在的目录才可以?我试一下.

谢楼上两位朋友!
发表于 2004-11-30 21:51:45 | 显示全部楼层
1.默认路由也可能有影响,用netstat -rn可以查看默认路由是不是eth0等,我以前可以拨号但却不能浏览网页,就是因为默认路由设置不对。在/etc/sysconfig/network中应该可以注释掉。

2.使用转发可能需要加载模块,我的iptables脚本是:
#!/bin/bash
# ipt_start.sh
        echo "Reset the regulars of iptables !"
        IPT=/sbin/iptables
        $IPT -F
        # Refresh the regular of the chains.
        /sbin/modprobe ipt_MASQUERADE
        /sbin/modprobe iptable_nat
        # Or: /sbin/insmod ...
        /sbin/modprobe ip_conntrack
        /sbin/modprobe ip_conntrack_ftp
        /sbin/modprobe ip_nat_ftp
        # Enables IP forward.
        $IPT -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
        echo 1 > /proc/sys/net/ipv4/ip_forward
        $IPT -N block
        $IPT -A block -m state --state ESTABLISHED,RELATED -j ACCEPT
        $IPT -A block -m state --state NEW -i lo -j ACCEPT
        $IPT -A block -m state --state NEW -i ! ppp0 -j ACCEPT
        # Create chain that block new connections, ecxept if coming from inside network.
        $IPT -A INPUT -j block
        $IPT -A FORWARD -j block
        # Jump to that chain from INPUT & FORWARD chains.
然后在rc.local中运行该脚本。
上面说的,还是数字小先运行。

3.DNS解析器配置不正确也可能影响内网主机访问网络。这里看来应该没有这个问题。
发表于 2004-11-30 21:54:14 | 显示全部楼层
有什么心得可否贴出,我也想了解得更深入一些。谢谢。
 楼主| 发表于 2004-11-30 23:41:18 | 显示全部楼层
不好意思啦,犯了个低级错误,MASQUERADE拼成了MASQERADE,在仔细看了启动信息以后才发觉,因为这是启动时的最后一条错误提示,一闪而过,研究了很久才搞清楚,晕啊!!!!我都不好意思回帖了,哈哈!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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