|
首先要感谢大家的热心帮助,呵呵
这几天的折腾还终于把这个问题给解决掉了...
有两台电脑,A,B
A机安装archlinux-2008.06,并且有两块网卡 eth0,eth1;
eth0 连接 ADSL
eth1 连接 B机..B机调整为自动获取IP,
首先要说说eth0的情况:
这个网卡的MAC被电信给绑定了,只有当这个卡的MAC地址固定为那个绑定值时才能连接上,所以就要在rc.conf里设置
[CODE]eth0="eth0 hw ether XX:XX:XX:XX:XX:XX"[/CODE]
这样设置,启动后ifconfig里不显示eth0,好像是eth0没有IP地址,但是可以成功进行pppoe-start,此时使用进行firestarter设置,firestart的界面很好,图形化很容易配置,联网设备选为eth0,内网设备选为eth1。但是最后一步在启动防火墙的时候提示 eth0 没有准备好...如果把联网设备选为ppp1,在启动防火墙的时候会出错,终端里的提示是 DHCP服务启动失败.
接着就在在网上查找,修改dhcpc.conf成如下:
[CODE]# DHCP configuration generated by Firestarter
ddns-update-style interim;
#ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 61.134.1.4;#加入了当地的DNS服务器
option ip-forwarding off;
range dynamic-bootp 192.168.0.4 192.168.0.8;
default-lease-time 86400;
max-lease-time 86400;
host ns {
hardware ethernet 00:00:03:0f:fb:d6:95;
fixed-address 192.168.0.1;
}
}[/CODE]
DHCP服务可以正常启动了,B机可以获取ip,
不过最后还是没用到firestarter的防火墙(那个防火墙的规则好像不好设置,一旦开启就打不开网页)
又根据这篇文章中
http://dev.csdn.net/Develop/article/39/39868.shtm
更改了/etc/ sysctl.conf
中的
net.ipv4.ip_forward = 0
为
net.ipv4.ip_forward = 1
启动了iptables模块,
执行
#iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
B机终于可以上网了。
这个方法的基本思路就是用 iptables.如果需要的话还要配置dhcp服务。 |
|