在linux下實現共用上網__linux
來源:互聯網
上載者:User
在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~~