Ubuntu做网关上网
2009-11-22 20:52
用Ubuntu做网关上网比windows麻烦点儿,主要涉及到三个文件: /etc/network/interfaces /proc/sys/net/ipv4/ip_forward /etc/rc.local 1、先说interfaces文件,这是Ubuntu的网卡配置文件,里面包括IP、gateway、网络接口号等,先看一个例子: auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 auto eth1 iface eth1 inet dhcp address 192.168.137.5 netmask 255.255.255.0 gateway 192.168.137.2 这就是我的电脑上的interfaces,这里我有两张网卡:eth0、eth1,三个网络接口:eth0、eth1、lo,其中lo是本地回环接 口,也就是当你在你的电脑上输入ping 127.0.0.1时的网络接口,它是用来测试你的网卡能不能正常工作的。注意:一张网卡可能有多个网络接口,也就是可以有多个IP地址。里面的参数没什 么好说的,能看懂英文就行。重要的地方有 “iface eth1 inet dhcp”这里的dhcp也就是本网络接口获得IP的方式,“static”表示静态配置的,“dhcp”表示动态获取的。gateway后填上网关。 2、第二个文件其实就起到一个开关的作用,一般用“echo 1 > /proc/sys/net/ipv4/ip_forward”修改它,这条命令的意思是把ip_forward的内容设为“1”,表示开启路由转功能, 若为“0”,则表示关闭路由转发功能。若把Ubuntu做为网关,则需要开启路由转发功能。 3、第三个文件是开机启动脚本,可以把linux命令写到它里边,表示开机时自动执行该命令。 好了,下面进入正题,开始把Ubuntu配置成路由器: 1、正确配置IP,若你有两张网卡,则网卡代号分别是eth0、eth1。把对外的那张网卡的获得IP方式配置成dhcp方式;对内的那张网卡的 IP设置成static方式,并给它分配一个IP。网关地址填上你的网关。可以参考上面的文件。(修改此文件需要 root权限,推荐使用vi修改,简单好用的nano也行) 2、启动Ubuntu的路由转发功能,终端模式下输入:echo 1 > /proc/sys/net/ipv4/ip_forward 3、设置NAT规则,终端模式下:/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE 注意:这里的“192.168.0.0/24”是你的对内网卡所在的网络号。“eth1”是你的对外的网卡的网卡代号。根据自己配置的修改。 这样之后Ubuntu应该能上网了,然后再设置开机自动启动,把 echo 1 > /proc/sys/net/ipv4/ip_forward /sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE 这两条命令添加进/etc/rc.local文件中 下面是客户机的配置: 我以河南网通为例,河南网通的DNS地址是202.102.224.68和202.102.227.68,ip设为内网ip,也就是Ubuntu上对内的那张网卡的ip所在的网段,网关设为Ubuntu对内的那张网卡的ip。以我的配置为例,就是: IP地址:192.168.0.2 子网掩码:255.255.255.0 网关:192.168.0.1 首选DNS服务器:202.102.224.68 备用DNS服务器:202.102.227.68 然后就上网吧…… |
|