失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 树莓派4b乌班图服务器系统 【树莓派4B】8 树莓派软路由 Ubuntu18.04配置路由转发...

树莓派4b乌班图服务器系统 【树莓派4B】8 树莓派软路由 Ubuntu18.04配置路由转发...

时间:2020-04-06 04:45:44

相关推荐

树莓派4b乌班图服务器系统 【树莓派4B】8 树莓派软路由 Ubuntu18.04配置路由转发...

个人目的是经过把树莓派作成一个软路由,至关于一个智能路由器。html

材料

树莓派4B,操做系统其实能够是其余的Linux版本。觉得4B自带无线网卡,就用自带无线网卡做为路由出口。个人系统是Ubuntu 18.04linux

大概思路

具体步骤

配置两个网卡的IP

sudo vim /etc/network/interface

这里设置静态IP,也能够动态获取。web

#Local loopback

auto lo

iface lo inet loopback

#Ethernet0

auto eth0

iface eth0 inet static

address 192.168.137.10

netmask 255.255.255.0

gateway 192.168.137.1

dns-nameserver 8.8.8.8

allow-hotplug wlan0

#iface wlan0 inet dhcp

iface wlan0 inet static

address 192.168.4.1

netmask 255.255.255.0

安装hostapd建立热点

sudo apt-get install hostapd

配置hostapd服务器,创建配置文件: vi /etc/hostapd/hostapd.conf,并输入如下内容:ubuntu

DAEMON_CONF="/etc/hostapd/hostapd.conf"

sudo vi /etc/hostapd/hostapd.conf

写入以下配置项。注意要根据本身的实际状况,替换 ??? 处的内容:vim

ssid: WiFi 名称,8~64 个字符,最好用英文字母,不要出现特殊字符

hw_mode: WiFi 网络模式,通常填 g 便可,设备支持的话能够填 a 启用 5G 频段:

a = IEEE 802.11a (5 GHz)

b = IEEE 802.11b (2.4 GHz)

g = IEEE 802.11g (2.4 GHz)

channel: 信道编号。若是上面配置了 hw_mode=g 使用 2.4G 频段,则通常填 7 便可。若是配置了 5G 频段,则信道编号有所不一样,具体参考:WLAN信道列表

wpa_passphrase: WiFi 密码,最好用英文加数字,不要出现特殊字符

#5GHz MODE

# 设置默认的接入点为无线网卡 wlan0

interface=wlan0

#设置驱动程序为 nl80211

driver=nl80211

#无线路由器工做模式为802.11a(5G)

hw_mode=a

ieee80211n=1

ieee80211ac=1

ieee80211d=1

ieee80211h=1

require_ht=1

require_vht=1

vht_oper_chwidth=1

channel=149

vht_oper_centr_freq_seg0_idx=155

ht_capab=[HT40-][HT40+][SHORT-GI-40][DSSS_CCK-40]

# 设置加密模式为 WPA2

wpa=2

# 开启 WMM

wmm_enabled=1

country_code=US

# 设置加密方式为CCMP

wpa_key_mgmt=WPA-PSK

# 使用 AES, 而非 TKIP

rsn_pairwise=CCMP

# 设置无线网络 SSID 为 Lili

ssid=Lili

# 设置密码为741852123

wpa_passphrase=741852123

最后,启动 hostapd 服务。bash

sudo systemctl unmask hostapd

sudo systemctl enable hostapd

sudo systemctl start hostapd

sudo reboot

若是出现:Interface wlan0 wasn't started服务器

#sudo nmcli nm wifi off

sudo rfkill unblock wlan

sudo ifconfig wlan0 192.168.4.1/24 up

sudo service hostapd restart

注意配置文件不能有行是单独的空格,等号两边不要留空格。网络

这个时候已经能够看到热点了,可是手机链接会发现没有IP分配。

dom

配置DHCP服务

安装

sudo apt-get install isc-dhcp-server

配置

sudo vi /etc/default/isc-dhcp-server

改为目标网卡

DHCP池

sudo vi /etc/dhcp/dhcpd.conf

subnet 192.168.4.0 netmask 255.255.255.0 {

range 192.168.4.10 192.168.4.100;

option routers 192.168.4.1;

option broadcast-address 192.168.2.255;

option domain-name "";

option domain-name-servers 8.8.8.8,8.8.4.4;

default-lease-time 600;

max-lease-time 7200;

}

subnet netmask {

range ;

option routers ;

option broadcast-address ;

option domain-name-servers 8.8.8.8,8.8.4.4;

default-lease-time 600;

max-lease-time 7200;

}

以下图:

注释掉以 option domain - name 为开头的两行,以取消对域名的设置。

开启服务

sudo service isc-dhcp-server start

若是不成功:

sudo ifconfig wlan0 192.168.4.1/24 up

这个时候已经可以连上树莓派的的热点了,有IP分配,可是不能上网

打开Linux系统的路由转发功能

这里是Ubuntu 18.04

开启IP转发

sudo vi /etc/sysctl.conf

去掉这一行的注释

#net.ipv4.ip_forward=1

保存,用下列命令使命令生效

sudo sysctl -p

配置路由表

sudo iptables -A FORWARD -i wlan0 -j ACCEPT

sudo iptables -A FORWARD -o wlan0 -j ACCEPT

sudo iptables -t nat -A POSTROUTING ! -o wlan0 -j MASQUERADE

#把eth0网卡的数据包经过nat转发到wlan0,根据本身的须要修改相应的网卡

注意这里/proc/sys/net/ipv4/ip_forward里面内容为为1,表示开启IP转发,可是重启后会失效,故须要修改 /etc/sysctl.conf

这个时候可以正常链接热点而且上网了

完成配置,检查是否配置成功

sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf

若是最后两行出现了以下,则为正常

wlan0: interface state UNINITIALIZED->ENABLE

wlan0: AP-ENABLED

遇到任何问题,包括以前的服务配置,均可以使用

sudo nano /var/log/syslog

调到最后一行查看,分析缘由

最后的结果:

开机启动

在树莓派Raspberry Pi系统或者其余linux。

能够加在/etc/rc.local 中,开机自动添加路由规则

!注意!:请必定在exit 0以前添加

#/etc/rc.d/rc.local 用于添加开机启动命令

sudo vi /etc/rc.local

#在exit 0以前加入

#这三句根据需求加入开机启动

#sudo ifconfig wlan0 192.168.4.1/24 up

#sudo service isc-dhcp-server start

#sudo service hostapd start

sudo iptables -A FORWARD -i wlan0 -j ACCEPT

sudo iptables -A FORWARD -o wlan0 -j ACCEPT

sudo iptables -t nat -A POSTROUTING ! -o wlan0 -j MASQUERADE

可是Ubuntu 18.04开机启动的方式不一样

Ubuntu18.04 再也不使用initd管理系统,改用systemd.改变太大,跟以前的彻底不一样。不能像ubuntu14同样经过编辑rc.local来设置开机启动脚本,经过下列简单设置后,可使rc.local从新发挥做用。

参阅下列连接

/airdot/p/9688530.html

一、创建rc-local.service文件

sudo vi /etc/systemd/system/rc-local.service

二、将下列内容复制进rc-local.service文件

[Unit]

Description=/etc/rc.local Compatibility

ConditionPathExists=/etc/rc.local

[Service]

Type=forking

ExecStart=/etc/rc.local start

TimeoutSec=0

StandardOutput=tty

RemainAfterExit=yes

SysVStartPriority=99

[Install]

WantedBy=multi-user.target

三、建立文件rc.local

sudo vi /etc/rc.local

四、将下列内容复制进rc.local文件

#!/bin/sh -e

#

# rc.local

#

# This script is executed at the end of each multiuser runlevel.

# Make sure that the script will "exit 0" on success or any other

# value on error.

#

# In order to enable or disable this script just change the execution

# bits.

#

# By default this script does nothing.

echo "看到这行字,说明添加自启动脚本成功。" > /usr/local/test.log

exit 0

五、给rc.local加上权限

sudo chmod +x /etc/rc.local

六、启用服务

sudo systemctl enable rc-local

七、启动服务并检查状态

sudo systemctl start rc-local.service

sudo systemctl status rc-local.service

八、重启并检查test.log文件

cat /usr/local/test.log

若是能看到内容,说明设置成功,你就能够经过编辑rc.local文件来设置启动脚本了

如今,链接到树莓派的无线热点,便可正常链接互联网。

快速调试命令汇总

sudo ifconfig wlan0 192.168.4.1/24 up

sudo service isc-dhcp-server start

sudo service hostapd start

ifconfig

sudo vim /etc/network/interface

ip add

sudo ifconfig wlan0 192.168.4.1/24 up

sudo systemctl start dnsmasq

sudo systemctl restart dnsmasq

sudo systemctl stop dnsmasq

sudo systemctl status dnsmasq

vi /etc/dhcp/dhcpd.conf

sudo vim /etc/default/isc-dhcp-serve

/etc/init.d/isc-dhcp-server restart

sudo service isc-dhcp-server restart

sudo systemctl start isc-dhcp-server

sudo systemctl restart isc-dhcp-server

sudo systemctl stop isc-dhcp-server

#不想要dnsmasp

dpkg --list

sudo apt-get --purge remove 包名

#--purge是可选项,写上这个属性是将软件及其配置文件一并删除,如不须要删除配置文件,可执行sudo apt-get remove 包名

下期树莓派搭建局域网Web服务器

附录

其余配置参考

# 设置默认的接入点为无线网卡 wlan0

interface = wlan0

# 设置驱动程序为 nl80211

driver = nl80211

# 设置网卡工做模式为 802.11G

hw_mode = g

# 设置无线网络 SSID 为 RaspberryPi

ssid = RaspberryPi

# 设置无线通道为5,若是发现链接速度慢或有干扰,也能够设置为其余数值

channel = 6

# 设置加密模式为 WPA2

wpa = 2

# 设置密码为123456789

wpa_passphrase = 123456789

# 设置加密方式为CCMP

wpa_key_mgmt = WPA-PSK

wpa_pairwise = CCMP

rsn_pairwise = CCMP

beacon_int = 100

auth_algs = 3

wmm_enabled = 1

wmm_enabled=1

5GHz Mode

interface=wlan0

driver=nl80211

hw_mode=a

ieee80211n=1

ieee80211ac=1

ieee80211d=1

ieee80211h=1

require_ht=1

require_vht=1

wmm_enabled=1

country_code=US

vht_oper_chwidth=1

channel=149

vht_oper_centr_freq_seg0_idx=155

ht_capab=[HT40-][HT40+][SHORT-GI-40][DSSS_CCK-40]

wpa=2

wpa_key_mgmt=WPA-PSK

rsn_pairwise=CCMP

ssid=wifiname

wpa_passphrase=1234567890

// 基本信息

# 无线网卡的名称

interface=wlan0

# 网卡对应的驱动名

driver=nl80211

# 无线网络的名称是Pi-wifi

ssid=Pi-wifi

# 无线路由器工做模式为802.11g(2.4G)

hw_mode=g

# 无线网卡使用的信道

channel=10

# 支持 802.11n

ieee80211n=1

# 采用WPA2配置

wpa=2

# 无线网络密码是123456789

wpa_passphrase=123456789

# 认证方式为WPA-PSK

wpa_key_mgmt=WPA-PSK

# 开启 WMM

wmm_enabled=1

# 开启 40MHz channels 和 20ns guard interval

ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]

# 接受全部 MAC 地址

macaddr_acl=0

# 使用 WPA 认证

auth_algs=1

# 需链接者知道ssid

ignore_broadcast_ssid=0

# 使用 WPA2

wpa=2

# 使用预先共享的 key

wpa_key_mgmt=WPA-PSK

# 使用 AES, 而非 TKIP

rsn_pairwise=CCMP

DHCP配置解释

subnet 10.0.0.0 netmask 255.255.255.0 {

range 10.0.0.10 10.0.0.100;

option domain-name-servers 202.206.192.33, 223.5.5.5;

option domain-name "";

option subnet-mask 255.255.255.0;

option routers 10.0.0.1;

option broadcast-address 10.0.0.255;

default-lease-time 600;

max-lease-time 7200;

}

逐行进行解释

#subnet后跟子网网段,netmask后跟子网掩码

subnet 10.0.0.0 netmask 255.255.255.0 {

#地址池

range 10.0.0.10 10.0.0.100;

#DNS服务器地址(多个地址用","隔开)

option domain-name-servers 202.206.192.33, 223.5.5.5;

#为所分配的域分配域名

option domain-name "";

#为所分配的主机分发子网掩码

option subnet-mask 255.255.255.0;

#分发默认网关

option routers 10.0.0.1;

#分发广播地址

option broadcast-address 10.0.0.255;

#默认租期时间(秒)

default-lease-time 600;

#最大租期时间(秒)

max-lease-time 7200;

}

如果觉得《树莓派4b乌班图服务器系统 【树莓派4B】8 树莓派软路由 Ubuntu18.04配置路由转发...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。