路由器最基本的要求就是NAT和路由这两个功能。
首先就是把网关地址配置好(DHCP服务器和网关可以是同一个也可以是不同的)
vim /etc/sysctl.conf
首先配置路由转发,把
net.ipv4.ip_forward = 0
改成
net.ipv4.ip_forward = 1
允许路由之后就更新sysctl并重启网络服务
sysctl -p && service network restart
设置完了之后直接就可以设置内部的IP段转发到PPP0接口(用防火墙命令转发)
首先初始化防火墙的一些命令
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
iptables -t nat -A POSTROUTING -s 192.168.199.0/24 -j MASQUERADE #动态伪装,适合PPPoE的宽带
/etc/init.d/iptables save
之后直接重启防火墙
service iptables restart
因为我设置的DHCP网卡是ETH2,对应的主机网卡是VMNet2,也就是说我需要新建一个虚拟机使用VMNet2网卡
我这里用Manjaro新建一个Live光盘启动的虚拟机。然后设置成VMNet2
直接开机进入系统(不需要安装)
然后打开控制台输入ip add,查看本机的IP地址是多少
地址是192.168.199.22,现在试着ping一下8.8.8.8 Google DNS看看,能不能正常ping通
可以ping通,但是TTL应该是被挟持了,看延迟就能知道这个确定是通的地址,下面我直接访问在在上面的一台路由器,这台路由器的IP地址是10.0.0.21,手动敲的Linux路由器的地址是10.0.0.85,和模拟的客户机不在一个网段(但是解释不清楚,我用实验说明一下结果)
下面直接验证一下是不是用NAT访问的
访问上了,并且我添加了一条防火墙规则,我等会在我笔记本上登录路由器的后台,来查看是不是10.0.0.85访问了这台路由器并且添加了规则
看到了路由器日志,确实是10.0.0.85访问了这台路由器
为了增加可信度,我贴出路由器ping客户机的截图
实验结果:路由动态NAT成功
评论