Ubuntu Server(18.04)开启路由转发搭建软路由

1.介绍

  • 用途:
    • 1.通过已经拨号的机子进行上网,
    • 2.通过USB网卡进行上网,用另外一个网卡连接需要上网的设备。
  • 实现目标:
    • 有两张网卡wlan0 和eth0。现在要已经通过接入internet的wlan0网卡进行上网把所有来自eth0网卡的数据包转发到wlan0通过wlan0进行internet 访问,使得接入到eth0的主机都能够上网,因为eth0只有一个网口,所以我接入了路由器,所有接入路由器的设备都可以进行internet访问。

2. 设备:

  • 硬件:一台ubuntu server 18.04 带有两张网卡
  • 软件:isc-dhcp-server 进行ip分配

3.安装 isc-dhcp-server

#我用的是root用户,如果权限不够可以用加上 sudo 下面其他的也一样
apt install isc-dhcp-server

4. 配置两个网卡的IP

vim /etc/network/interface
# 我是把ip设置成静态,当然你也可以把ip设置成动态获取

Ubuntu Server(18.04)开启路由转发搭建软路由_第1张图片
再配置 /etc/default/isc-dhcp-server
Ubuntu Server(18.04)开启路由转发搭建软路由_第2张图片

5.开启Linux内核的路由转发功能

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
#把eth0网卡的数据包通过nat转发到wlan0,根据自己的需要修改相应的网卡

6.配置dhcp,使得接入eth0的主机可以分配到IP

#安装了isc-dhcp-server到/etc/dhcp 下找到dhcpd.conf  根据需要划分子网
vim /etc/dhcp/dhcpd.conf

Ubuntu Server(18.04)开启路由转发搭建软路由_第3张图片

7.测试

#把电脑连接eth0口。执行ping,看是否ping的同
ping 1.2.4.8
#如果不通,看是否默认网关配置正确了
#添加相应的默认网关,把192.168.0.1 设置成默认网关,也就是wlan0设置成默认网关

Ubuntu Server(18.04)开启路由转发搭建软路由_第4张图片

8.总结

Linux数据包转发是通过linux内核实现的这个非常强大,wlan0我使用的是USB无线网卡,通过wpa_supplicant来进行联网,连上wifi后还要进行dhclient获取IP,如果没有获取到IP的话,如果配置了静态IP就不用了。

你可能感兴趣的:(linux服务器)