Basic Configuration 4 router | 路由器的基本配置

2019 09 4, Wed

一个家用路由器无非是这么几个部分:

  • 转发及NAT - 路由的核心
  • DHCP - 在内网给其他机器分配IP
  • DNS - 解析及缓存域名

分配IP地址

CentOS自带nmtui,其他系统也都可以安装,需要小伙伴自己玩玩,玩玩就会用了

公网IP

用默认配置启用公网的网卡就可以分配到你的公网IP。

试一下ping blog.jeffthecoder.xyz,看到PING qsh.jeffthecoder.xyz (49.234.49.89) 56(84) bytes of data.就对了。

顺便你应该检查一下IP地址

ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp6s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 30:5a:3a:48:f7:36 brd ff:ff:ff:ff:ff:ff
    inet 180.164.xx.xx/23 brd 192.168.3.255 scope global dynamic noprefixroute enp6s0
       valid_lft 40019sec preferred_lft 40019sec
    inet6 fe80::8a68:b3bf:c2ad:32c8/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

内网IP

你还需要一个网口,用来接入其他设备,比如说交换机。

这个网口上你需要用nmtui设置一个静态ip,并且指定子网prefix。 比如说我在家的路由器,内网IP是192.168.1.1/24,就是说,这个路由器本身会跟内网其他192.168.1.0/24网段内的设备,用192.168.1.1这个IP通信

核心功能 - 转发

见字生意:在公网和你家的内网之间进行数据传输。

NAT

有的小朋友会问:为什么我不能直接把网接在公网呢? 简单说就是,为了识别你的设备,会有东西给你分配一个ID叫IP。现在这个世界还是普遍在用IPv4,数量很少,所以需要想办法节约IP,你的网络运营商就很可能不会给你超过一个IP地址,所以出现了一种东西叫NAT。具体看一下Wiki

Details

Linux生来擅长这样的事情,你要做的只要

  • 在进出的网口上分配IP,指定默认路由
  • 告诉内核要转发数据包
  • 告诉内核要NAT 就够了

具体来说(对于新手来说firewalld简单一丢丢,之后再说iptables)

sysctl -w net.ipv4.conf.all.forwarding=1
firewall-cmd --add-masquerade # 最简单的NAT:MASQUERADE

(需要root,建议用sudo操作)

这就是最简单的配置。但是这次配置只生效到重启前,要持久化你需要

echo net.ipv4.conf.all.forwarding=1 > /etc/sysctl.d/forward.conf
firewall-cmd --add-masquerade --permanent

这样重启以后就会自动开启转发和NAT了。

用其他设备连接这个简易路由器

这样我们就有了一个最最最基本的路由器配置,找跟网线连上内网网口吧。然后配置静态ip为同网段的一个ip,设置network mask或者subnet prefix,设置DNS为114.114.114.114,试试看能不能连上网吧

What’s next

你可以自己尝试一下的

买一个AP,或者路由器配置AP模式,让你的手机可以通过设置静态IP的方式连上网络。

我的下一篇

我们下来会在路由器上配置DHCP和DNS缓存,让你的电脑连接这个网络的时候不需要手动设置什么IP这些东西