ip_forward的作用:
可以实现路由器的功能,利用 linux 主机的两块网卡(网卡处于不同网段),将数据包在两块网卡之间进行传送,实现两个网络之间的访问
配置方法
临时打开的方法1
echo 1 > /proc/sys/net/ipv4/ip_forward
临时打开的方法2
sysctl -w net.ipv4.ip_forward=1
永久打开的方法
sysctl.conf文件包含了内核参数的配置信息,打开etc/sysctl.conf文件进行编辑,在文件中找到net.ipv4.ip_forward=0(如果不存在则手动添加),修改为:
net.ipv4.ip_forward=1
重新加载sysctl.conf文件并应用其中的配置:
sudo sysctl -p
功能测试
测试环境
- 一台PC电脑A,网口IP地址为192.168.155.119
- 一台笔记本电脑B,网口IP地址为192.168.1.12
- 一块运行linux环境的双网口配置的嵌入式开发板,网口1的IP位置为192.168.155.142,网口2的IP地址为192.168.1.100
网络连接拓扑图
网络配置
- PC电脑的上需要将网关配置为与之相连的开发板网口1的IP地址,即将网关配置为192.168.155.142
- 笔记本电脑上也需要将网关配置为与之相连的开发板网口2的IP地址,即将网关配置为192.168.1.100
- 检查PC机与笔记本电脑的防火墙配置,需要将防火墙都关闭,否则,两台电脑之间ping不通。
测试
通过ping命令即可测试PC机与笔记本之间网络是否联通,在这个过程中开发板相当于一个路由器,将不同网段的数据转发至对应的网口。