ubuntu单网卡NAT配置局域网共享上网

方法一、参考http://forum.ubuntu.org.cn/viewtopic.php?f=54&t=173174
成功(不推荐,非校园上网可行)

Ubuntu局域网单网卡Nat共享上网
作者:TeliuTe 来自:基础教程网
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

方法二、参考https://help.ubuntu.com/lts/serverguide/firewall.html#ip-masquerading

ubuntu单网卡NAT配置局域网共享上网_第1张图片

成功(推荐)
环境:ubuntu 14.04, ufw 0.34~rc-0ubuntu2
描述:ufw无法启动(图1)同时断开了并无法再连,只能ufw disable。
ubuntu单网卡NAT配置局域网共享上网_第2张图片
上面的问题再电脑重启后奇妙的没了。。。
配置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,但是一改掉了。。连上后netmask和gateway都已被重新设置。没办法,就到这里吧。。
(后来考虑或许是配置iptables的nat时用POSTROUTING的原因,可能还要配置PREROUTING,以后试吧。。)

你可能感兴趣的:(ubuntu,ubuntu,共享上网)