ubuntu server双网卡做NAT让局域网共享上网的方法(各位大神帮我分析一下)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu server双网卡做NAT让局域网共享上网的方法(各位大神帮我分析一下)相关的知识,希望对你有一定的参考价值。

一、实际情况和需求:
家里有一条固定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

问题就是客户端无法上网,请问各位大神,我是在哪个环节上出错了呢?
目前服务器可以正常上网,局域网内的客户电脑可以ping通172.16.1.1的网卡。

参考技术A 客户机能ping通172.16.1.1吗?
iptables -L 看一下规则还在不在。iptables规则保存了吗?如果没有,重启规则就没有了。
把客户机的dns也设成 114.114.114.114 8.8.8.8

不要设成172.16.1.1

3.ubuntu server的网卡绑定和桥接

参考技术A 为了方便做这个实验,我在虚拟机上配置了4块网卡,其中eth0和eth1配置为NAT模式,eth2和eth3配置为“仅主机模式”。eth0和eth1可以通过NAT转换连接外网,网段为192.168.36.X,eth2和eth3不能连接外网网段为172.16.22.X。创建网桥之前要先安装bridge-utils: sudo apt install bridge-utils 。网卡配置如下:

只给eth0配置一个地址,配置文件如下:

修改配置文件后,执行 sudo netplan apply 使配置生效,此时网络配置如下:

把eth0和eth2配置上静态IP,配置文件如下:

执行 sudo netplan apply 后,两个网卡的网络都是通的,网络配置如下

创建一个网桥br0,然后将br0桥接到eth0上。配置文件如下:

执行 sudo netplan apply 后,两个网卡的网络都是通的,网络配置如下(修改网桥配置后,有时执行 sudo netplan apply 后网络不通,需要重启服务器)

创建两个网桥br0和br1,然后分别桥接到eth0和eth2上。配置文件如下:

测试两个网段的网络,都是通的。

网卡绑定共有7中模式,概念如下:

测试网络,没有问题。

⽹卡绑定⽤于提供⽹卡接⼝冗余以及⾼可⽤和端⼝聚合功能,桥接⽹卡再给需要桥接设备的服务使⽤。将网卡eth0和eth1绑定为bond0,再创建一个网桥br0,与bond0桥接。配置文件如下:

测试网络,没有问题

把eth0和eth1绑定为bond0,连接NAT网络,通过共享主机网络上网模拟外网;eth2和eth3绑定为bond1,连接仅主机网络模拟内网。配置文件如下:

测试网络:

把eth0和eth1绑定为bond0,连接NAT网络,通过共享主机网络上网模拟外网;eth2和eth3绑定为bond1,连接仅主机网络模拟内网,创建网桥br0和br1,并分别桥接到bond0和bond1上。配置文件如下:

测试网络:

总结:以上就是ubuntu1804网卡静态IP地址、bond、桥接、bond+桥接的配置方式。查看网络可以用 ifconfig 命令,当前哪个模式的网卡(网桥、bond)工作,哪个模式的网卡(网桥、bond)就会显示有IP地址。通过配置文件或有IP地址的设备都可以确定网卡的工作模式。

以上是关于ubuntu server双网卡做NAT让局域网共享上网的方法(各位大神帮我分析一下)的主要内容,如果未能解决你的问题,请参考以下文章

为VirtualBox中的Ubuntu配置双网卡

Ubuntu server1804的NAT网络模式 网卡设置

ubuntu双网卡内外网ping 不通

3.ubuntu server的网卡绑定和桥接

局域网双网卡共享上网

linux系统三种网络设置模式