方法一、成功(不推荐,非校园vpn上网可行)
Ubuntu局域网单网卡Nat共享上网
1、设置好主机的上网,下面的例子供参考:
IP地址 192.168.1.250
网关 192.168.1.1
DNS 61.128.114.166
2、进入终端,输入命令 sudo su 进入管理员模式;
3、接着输入命令,开启路由功能:
echo “1”>/proc/sys/net/ipv4/ip_forward
4、接着依次输入下列命令:
sudo iptables -F
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
这样主机就设好了,如果想自动运行,可以如下操作:
1)在文件 /etc/sysctl.conf 最后加上一行 net.ipv4.ip_forward = 1
2)在文件 /etc/rc.local 里加入下面的几行(注意,加在 exit 0 的前面):
sudo iptables -F
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
设好以后,重新启动一下计算机;
5、客户机设置好DNS,网关为主机的IP地址,下面的例子供参考:
IP地址 192.168.1.78
网关 192.168.1.250
DNS 61.128.114.166
重启后,客户机就可以直接上网、上QQ了;
但是学校上网用的VPN,上面的设置不适用。ifconfig查看到有ppp0和eth0两个接口,于是将上面这句
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
改为:
sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
方法二、
成功(推荐)
环境:ubuntu 14.04, ufw 0.34~rc-0ubuntu2
描述:ufw无法启动(图1)同时断开了vpn并无法再连vpn,只能ufw disable。
上面的问题再电脑重启后奇妙的没了。
配置ufw依然是将eth0换成ppp0,但此时会出现浏览器不能上网,但输入ip可以(典型的是QQ正常,网页打不开)。这是DNS出了问题。
于是将客户机的DNS改成8.8.8.8,便可以了。
(最近谷歌这个DNS有时不能用,不知是不是G!F!W太厉害。。改用阿里的了: 223.5.5.5 & 223.6.6.6)
奇怪的是,NAT主机能ping同的某些其他局域网节点,客户机不能ping通。比如主机设置的首选DNS(192.168.11.11),这就是导致客户机用同样的DNS无法上网。但是由于8.8.8.8这台DNS服务器可以ping通,所以用之可以。
推测是由于192.168.11.11是局域网,它的路由查询没有用nat转发,而是主机(192.168.13.14)直接再路由。从而一直无法找到。(其中ppp0和DNS在一个网段,但另一个局域网。这两个局域网之间不通。)
原本想着改掉主机netmask为255.255.0.0,但是一改vpn掉了。连上vpn后netmask和gateway都已被重新设置。没办法,就到这里吧。
(后来考虑或许是配置iptables的nat时用POSTROUTING的原因,可能还要配置PREROUTING,以后试吧。)
虚拟机下运行linux通过nat模式与主机通信、与外网连接:http://www.linuxdiyf.com/linux/16039.html
VMware Workstation下的虚拟Linux通过NAT模式共享上网:http://www.linuxdiyf.com/linux/9152.html
Linux虚拟机采用NAT方式时如何能在虚拟机中访问互联网:http://www.linuxdiyf.com/linux/12354.html
虚拟机VMware下RedHat Linux上网设置(bridged NAT方式)图文详解:http://www.linuxdiyf.com/linux/8736.html
VMware虚拟机Linux通过NAT方式上网:http://www.linuxdiyf.com/linux/3602.html