linux实现路由器
路由器的设置和使用是网络连接的基础,如果您想更好地利用网络资源,本文linux实现路由器将为您提供简单易懂的操作指南和使用技巧。
本文内容目录一览:
Linux 配置路由方式(临时以及永久)
由于之前构建服务器需要实现内网之间联系,最后走到外网通讯如图。
临时路由并不是长久之计。服务器也会有重启的一天嘛。我建议的是做一个永久的路由。
net Destination \ Genmask gw \ netmask Gateway 组合成了一个网络。
Gateway就是网关,如培伍果显示配唤或0.0.0.0表示该路由是直接由本机直接传送的;
如果显示链竖ip,表示该路由需要经过路由器的帮助才能发出(通讯)。
U(route is up)该路由是启动的。
H(target is a host) 特定主机路由。
G(use Gateway) 需要通过外部的主机传递数据包。
linux 路由器限速实现方法
linux的开源和免费使得越来越多的厂家用它来做防火墙和路由器,今天本文用linux来打造一台高性能的能够限速的路由器。文章就以red hat为例教大家在linux下进行路由器限速。
linux的开源和免费使得越来越多的厂家用它来做防火墙和路由器,如海蜘蛛,飞鱼星等,其实我们也可以用linux来打造一台高性能的路由器。下面就以red hat为例(其他版本大同小异)教大家做一台能限速的`路由器,如何在linux下进行路由器限速就不再困难了。
安装linux如果是新手请安装时安装图形桌面。Linux路由器限速的设置步骤如下:
路由器限速第一步:建立adsl连接,在系统设置——网络设置处有。在图形界面下很容易搞定。
路由器限速第二步:打开IP转发和伪装(也就是路由与NAT)
1、作为根用户打开/etc/sysconfig/network文件,在文件增加以下一行:
GATEWAYDEV=PPP0 这句话的作用是设定默认路由,有时没有也可
2、打开IP转发功能:打开/etc/sysctl.conf文件,修改net.ipv4.ip_forward=0一行,改0改为1
3、重启系统
路由器限速第三步:设置iptables防火墙,决定那些IP能通过linux主机上网。
下面以允许192.168.0.0网段为例:
1、打开终端在#字提示符下输入以下命令:
iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE #这句意思是伪装从pppo出去的IP
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT #这句意思是转发来自192。168。0。0网段的通讯
iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT #这句意思是转发到达192。168。0。0网段的通讯
iptables -A FORWARD -s ! 192.168.0.0/24 -j DROP #这句意思是拒绝转发非192.168.0.0网段的通讯。
2、保存以上防火墙规则,以保证重启后还有效, 输入命令:iptables-save /etc/sysconfig/iptables,这样,你的linux路由器应该就尺槐能跑起来了。
linux做路由器限速的实现:在linux中有专门限速的软件--tc,但TC的语法新手难以陵春友掌握,我们可以在防火墙上通过限定某个IP或某段IP在一秒内通过的数据包的数量来限速。
下面以限制192.168.0.2这个IP的网速为例说说,在桌面环境下打开/etc/syscofngi/iptables 有没有发现,刚才的设定全记录在这个文件里,现在做的就在这个文件里添加规则就得了。
1、先要找到filter
2、在filter下面一行增加以下两行:
-A FORWARD -m limit -d 192.168.0.2 --limit 30/sec -j ACCEPT # 这句意思是限定每秒只转发30个到达192。168。0。2的数据森弯包(约每秒45KB 一个数据包是1.5KB)
-A FORWARD -d 192.168.0.2 -j DROP #这句作用是超过限制的到达192.168.0.2的数据包不通过)
3、路由器限速经过重启系统就实现了。
linux路由
Linux 路由需要记住两点:跨网段通信需要经过路由;Linux 本身就是一台路由器。
开启路由功能
$ cat/proc/sys/net/ipv4/ip_forward
如果值为 1,表示开启了路由功能,如未开启,需要在 /etc/sysctl.conf 中设置:
net.ipv4.ip_forward=1
然后执行 sysctl -p 使之生效。
实践
创建两个网络 namespace:
$ ip netns add ns1
$ ip netns add ns2
创建两对 veth-pair,一核腊端分别挂在两个 namespace 中:
$iplinkadd v1type veth peer name v1_r$iplinkadd v2type veth peer name v2_r$iplink setv1netns ns1$iplink setv2netns ns2
分别给两对 veth-pair 端点配上 IP 并启用:
$ ip a a 10.10.10.1/24 dev v1_r$ ip l s v1_r up$ ip a a 10.10.20.1/24 dev v2_r$ ip l s v2_r up$ ip netnsexecns1 ip a a 10.10.10.2/24 dev v1$ ip netnsexecns1 ip l s v1 up$ ip netnsexecns2 ip a a 10.10.20.2/24 dev v2$ ip netnsexecns2 ip l s v2 up
测试:
$ ip netnsexecns1 ping 10.10.20.2
发现不通。
添加路由
查看路由:
$ ip netnsexecns1 route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 v1
只有一条直连路由,没有去往 10.10.20.0/24 网段的路由,怎么通?那就给它配一条:
$ ip netnsexecns1 route add -net 10.10.20.0 netmask 255.255.255.0 gw 10.10.10.1$ ip netnsexecns1 route -n
同理也给 ns2 配上去往漏扮 10.10.10.0/24 网段的路由:
$ ip netnsexecns2 route add -net 10.10.10.0 netmask 255.255.255.0 gw 10.10.20.1$ ip netnsexecns2 route -n
再次测试,发现可以 ping 通了:
$ ip netnsexecns1 ping 10.10.20.2
总结
Linux 本身是一台路由器。
上面的实验使用 namespace 效果和使用虚拟机是一样的,关键是知道有这个功能,知道怎么用改搜滑就差不多了。
linux系统怎么添加路由?
linux下添加路由的方法:
一:使用 route 命令添加
使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:
二:在linux下设置永久路由的方法:
1.在/etc/rc.local里添加
方法:
2.在/etc/sysconfig/network里添加到末尾
方法:GATEWAY=gw-ip 或者 GATEWAY=gw-dev
3./etc/sysconfig/static-router :
linux 添加永久静态孙袜路由
Linux 的路由功能:
# route 命令添加的路由,则腔激机器重启或者网卡重启后就没掉了,在linux下设置永久路由的方法:
1.在/etc/rc.local里添加
2.在/etc/sysconfig/network里添加到末尾
3./etc/sysconfig/static-router :
any net x.x.x.x/24 gw y.y.y.y
开启 IP 转发圆中:
如果您遇到问题,建议参考这些文章,同时也可以在论坛或社区中寻求帮助。通过这些教程,您可以更好地理解路由器和Wi-Fi网络,更好地保护您的网络和设备。