公司有一台电脑用adsl上网,其他电脑也想共享上网,那就用nat服务吧,我们知道在win下常用的有wingate,sgate 什么winrotue等等拉~!那在linux下改怎么办呢? 其实在linux中已经有了这个功能,只是你要做一点点事情就ok了!
下面就以我的linux主机做nat为例子 写出我的配置(我也是参考别人的)
在/usr/local/nat/下建立一个文件叫nat.sh内容如下:
#!/bin/bash
EXIF='ppp0'
EXNET='192.168.25.0/24'
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -F -t nat
/sbin/iptables -X -t nat
/sbin/iptables -Z -t nat
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT
modprobe ip_tables 2> /dev/null
modprobe ip_nat_ftp 2> /dev/null
modprobe ip_nat_irc 2> /dev/null
modprobe ip_conntrack 2> /dev/null
modprobe ip_conntrack_ftp 2> /dev/null
modprobe ip_conntrack_irc 2> /dev/null
/sbin/iptables -t nat -A POSTROUTING -o $EXIF -s $EXNET -j MASQUERADE
然后在/etc/rc.d/rc.local文件里加多一行:
/usr/local/nat/nat.sh
最后把其他客户机的网关ip 指向主机ip就 大家一起都可以上网了