在linux下实现共享上网
在linux下实现共享上网
转载时请注明出处和作者联系方式
作者联系方式:李先静 <xianjimli at hotmail dot com>
我的桌面机有两个网卡,一个连接天威的MODEN,一个连接笔记本电脑。笔记本电脑和桌面机之间共享数据没有问题,但笔记本电脑有时也要访问外网,怎么办呢?以前在桌面机上安装的Windows,要共享上网非常简单,把网络连接设置为共享就行了。现在安装了Fedora 7,按常规来看,实现共享上网更简单才对,只要打开TCP转发(forward)开关即可。
在配置文件中/etc/sysctl.conf增加net.ipv4.ip_forward = 1,重起之后,/proc/sys/net/ipv4/ip_forward的内容变为1了,但还是无法实现共享上网。后来在http://www.aboutdebian.com/proxy.htm找到一个脚本,运行一下就可以了,非常好用,摘录到这里做备忘。
#!/bin/sh
INTIF="eth0"
EXTIF="eth1"
EXTIP="`/sbin/ifconfig eth1 | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*://'`"
/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD DROP
iptables -F FORWARD
iptables -t nat -F
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
~~end~~
转载时请注明出处和作者联系方式
作者联系方式:李先静 <xianjimli at hotmail dot com>
我的桌面机有两个网卡,一个连接天威的MODEN,一个连接笔记本电脑。笔记本电脑和桌面机之间共享数据没有问题,但笔记本电脑有时也要访问外网,怎么办呢?以前在桌面机上安装的Windows,要共享上网非常简单,把网络连接设置为共享就行了。现在安装了Fedora 7,按常规来看,实现共享上网更简单才对,只要打开TCP转发(forward)开关即可。
在配置文件中/etc/sysctl.conf增加net.ipv4.ip_forward = 1,重起之后,/proc/sys/net/ipv4/ip_forward的内容变为1了,但还是无法实现共享上网。后来在http://www.aboutdebian.com/proxy.htm找到一个脚本,运行一下就可以了,非常好用,摘录到这里做备忘。
#!/bin/sh
INTIF="eth0"
EXTIF="eth1"
EXTIP="`/sbin/ifconfig eth1 | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*://'`"
/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD DROP
iptables -F FORWARD
iptables -t nat -F
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
~~end~~