1.3 Linux系统路由功能

Linux操作系统嵌入了TCP/IP协议栈,协议软件具有路由转发功能。路由转发依赖于在作为路由器的主机中安装多块网卡,当某一块网卡接收到数据包后,系统内核会根据数据包的目的IP地址查询路由表,然后根据查询结果将数据包发送到另外一块网卡,最后通过此网卡把数据包发送出去。此主机的处理过程就是路由器完成的核心功能。

通过修改Linux系统内核参数ip_forward的方式可实现路由功能,系统使用sysctl命令配置与显示在/proc/sys目录中的内核参数。首先在命令行输入命令cat/proc/sys/net/ipv4/ip_forwad,检查Linux内核是不是开启了IP转发功能。如果结果为1,则表明路由转发功能已经开启;如果结果为0,则表明没有开启。出于安全考虑,Linux内核默认为禁止数据包路由转发。在Linux系统中,有临时和永久两种方法启用转发功能。

(1)临时启用:此种方法只对当前会话起作用,系统重启后不再启用。临时开启的命令格式:sysctl-w net.ipv4.ip_forward=1。

(2)永久启用:此种方式可永久性地启用IP转发功能,可将配置文件/etc/sysctl.conf中的语句行net.ipv4.ip_forward=0修改为net.ipv4.ip_forward=1,保存配置文件后执行命令sysctl-p/etc/sysctl.conf,配置便立即启用。