3
回答
ubuntu server双网卡做NAT让局域网共享上网的方法(各位大神帮我分析一下)
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
一、实际情况和需求:
家里有一条固定IP的光纤线路
ubuntu14.04server 服务器一台(双网卡)
无线路由器一个
工作站和手机有很多台。
请问服务器如何制作DHCP+网关 让工作站和手机进行上网?

二、目前的进展
昨天设置这台服务器耗费了好几个小时,但是没有成功,说一下昨天工作的成果
1、设置eth0和eth1两个网卡的IP地址
eth0为对外网的网卡,eth1是对内局域网的网卡
我的设置如下:
auto eth0
iface eth0 inet static
address 202.XX.XX.XXX
gateway 202.XX.XX.XXX
netmask 255.255.255.128
dns-nameservers 114.114.114.114 8.8.8.8

auto eth1
iface eth1 inet static
address 172.16.1.1
netmask 255.255.255.0

目前服务器可以正常上网,局域网内的客户电脑可以ping通172.16.1.1的网卡。

2、设置IP转发
修改/etc/sysctl.conf,添加这一行:
net.ipv4.ip_forward= 1

3、然后我设置了Iptables根据网上的教程设置如下:

iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j MASQUERADE

4、以上设置完毕以后重新启动系统

5、设置客户端IP地址
ip:172.16.1.5
子掩码:255.255.255.0
网关:172.16.1.1
DNS:172.16.1.1


问题就是客户端无法上网,请问各位大神,我是在哪个环节上出错了呢?
举报
我不明白
发帖于3年前 3回/825阅
添加下route看看。看哪个环节使用traceroute  
--- 共有 3 条评论 ---
北方羊回复 @我不明白 : 无法解析是dns服务器的问题。能ping通那个外网网卡是说明你路由已经成功了。 3年前 回复
我不明白问题好像还是存在于内网卡与外网卡之间的IP转发。 我在启动文件中加入两条路由也未能解决此问题。 #route add -net 172.16.1.0 netmask 255.255.255.0 eth1 #route add -net 202.XX.XX.0 netmask 255.255.255.0 eth0 3年前 回复
我不明白我的客户机是win7系统ip:172.16.1.5 ping 172.16.1.1 通过 ping 接外网的那个网卡能ping通 在本机用tracert www.163.com 显示:无法解析目标系统名称。 3年前 回复
我在ubuntu下执行 iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j SNAT --to 1.58.XX.XXX 语句后
为什么用iptables -L 查看 没有任何规则呢?




$ sudo iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j SNAT --to 1.58.xx.xxx
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination


Chain FORWARD (policy ACCEPT)
target prot opt source destination


Chain OUTPUT (policy ACCEPT)
target prot opt source destination




这是什么原因呢?

不能上网,如果可以ping通172.16.1.1与eth0,说明转发都已经OK,

这里不能上网,ping www.baidu.com无响应,应该是你的“5、设置客户端IP地址”中,DNS有问题,修改成“dns-nameservers 114.114.114.114 8.8.8.8”

5、设置客户端IP地址 
ip:172.16.1.5 
子掩码:255.255.255.0 
网关:172.16.1.1 
DNS:此处最好设置固定IP的光纤线路默认分发的DNS

顶部