iMX6ULL基于iptables实现路由转发

IMX6ULL iptables路由转发

内核配置

将一下两个选项中的所有选项配置成<*>,这样在编译时会编译到内核中去而不是模块,如果是模块的话在使用前需要加载这些模块,子项中有太多选项后面加载这些模块时会很麻烦,还是建议编译至内核中去
在这里插入图片描述
将编译好的内核源码通过烧录(mfgtools)或者通过命令行(nand、emmc都有快速更新内核的命令)去实现内核的更新,这里就不做过多的说明,交叉编译iptables工具,这里也不做说明网上有很多介绍交叉编译的步骤教程

具体操作步骤

修改/etc/sysctl.conf配置文件
取消注释:net.ipv4.ip_forward = 1
接着执行:sysctl -p是该配置生效

路由配置:
iptables -F //清除路由规则
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

这里重点解释一下路由转发这一条命令中的参数:
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE //路由转发

192.168.2.0/24:这里的192.168.2.0是与你要转发的网卡的IP网段如果是192.168.1.X那么这里就应该是192.168.1.0/24

eth0:这个是你最终转发到的网卡名称,即如果你要将eth1网卡路由转发至eth0,则这里填写eth0
MASQUERADE :该参数的作用是如果你的eth0网卡的IP不固定时也还是可以行转发

如果你的最终转发到的网卡IP是固定的你还可以使用下面的命令:
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j SNAT --to-source 192.168.1.x
这里的192.168.1.x是eth0网卡IP

测试

经过以后以上的操作后,我们将eth1的IP设置成192.168.2.100,通过网线连接到PC端,eth0连接到路由器上使其能够联网。
在这里插入图片描述
一定要将PC的默认网关设置成eth1网卡的IP,在这里eth1其实就是作为你PC的网关,PC端所有经过以太网卡的网络请求都会通过网关向eth1进行请求,再由iptables的路由转发将eth1的请求通过eth0转发出去。最后你会发现你的PC就能通过连接到eth1网口上进行联网了。

当然这里只是测试路由转发的功能,电脑联网直接连到路由器即可,哈哈哈哈哈哈!

一般该功能适用于通过无线网卡即WIFI或者4G/5G场景下,通过无线网卡实现内网下的设备能够连接到外网,实现了一个路由器的功能,这种场景在工业网关上用的还是比较多的。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值