|
|

楼主 |
发表于 2008-12-5 23:24:15
|
显示全部楼层
我的问题已经解决了,谢谢icatman的提示。
下面说说我的解决过程。
(google是个不错的工具)
在google里面输入关键词: debian 和 单网卡nat,就会出现很多办法。
其中一个办法是:http://hiei.yeax.com/archives_10.html
真是太简单了。。。
原来网卡设置了IP和网关等参数,可以正常上网了。如果别的机器需要通过这台机器上网,只要运行下面的命令就可以了。
ifconfig eth0:1 192.168.1.22
echo 1 > /proc/sys/net/ipv4/ip_forward
其中 192.168.1.22 和其他内网的机器IP段相同。然后其他机器设置网关为 192.168.1.22, dns服务器随便找一个可用的就行了。
这个办法看上去十分的简单,但是我没有成功。
下一个办法是成功的:http://www.linuxdiyf.com/bbs/thread-18507-1-1.html
1。修改/etc/network/interfaces设置局域网地址
代码:
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
dns-nameservers *.*.*.* (此处根据当地ISP提供的设定) (我在重庆,所以我设置的是61.128.128.68 --southcross)
2.修改localnet, 将/etc/networks中的localnet设定为192.168.0.0
如:localnet 192.168.0.0
3.修改/etc/network/options中的ip_forward=yes (我的机器里面就没有options这个文件,但是我用vi自己创建了一个,里面只有ip_forward=yes --southcross注)
4.设置iptables做NAT转换,敲入下列命令
代码:
iptables -F
iptables -X
iptables -Z
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -s 192.168.0.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
(以上代码需仔细录入 --southcross注)
5。将iptables规则导出至任意目录,如:/opt/
代码: iptables-save > /opt/ip.roules6.再次编辑/etc/network/interfaces,在iface eth0 inet static中加入
代码: pre-up iptables-restore < /opt/ip.roules一行,以便开机自动执行!
把xp的网络地址设置到192.168.0.0/24 网段就可以了,现在我发的帖正是通过debian主机在win xp上面完成。
(本来我都打算明天去买路由器来解决这个问题,这下子可以节省一笔银子了,^_^) |
|