因为开发板要充当热点,要用iptables把wlan转发到eth上,结果发现没有iptables

1.直接从网站下了一个iptables
写BUILD.gn

import("//build/ohos.gni")config("iptables_config") {cflags = ["-D_LARGEFILE_SOURCE=1","-D_LARGE_FILES","-D_FILE_OFFSET_BITS=64","-D_REENTRANT","-DENABLE_IPV4","-DENABLE_IPV6","-Wall","-Wno-error","-Wno-pointer-arith","-Wno-sign-compare","-Wno-unused-parameter","-Wno-missing-field-initializers","-Wno-parentheses-equality","-DNO_SHARED_LIBS=1","-DALL_INCLUSIVE","-DXTABLES_INTERNAL",]
}ohos_executable("iptables") {sources = ["//third_party/iptables/iptables/ip6tables-standalone.c","//third_party/iptables/iptables/ip6tables.c","//third_party/iptables/iptables/iptables-restore.c","//third_party/iptables/iptables/iptables-save.c","//third_party/iptables/iptables/iptables-standalone.c","//third_party/iptables/iptables/iptables-xml.c","//third_party/iptables/iptables/iptables.c","//third_party/iptables/iptables/xshared.c","//third_party/iptables/iptables/xtables-legacy-multi.c",]include_dirs = ["//third_party/iptables","//third_party/iptables/extensions","//third_party/iptables/include","//third_party/iptables/iptables","//third_party/iptables/libiptc",]configs = [ ":iptables_config" ]install_enable = truedeps = ["//third_party/iptables/extensions:libext","//third_party/iptables/extensions:libext4","//third_party/iptables/extensions:libext6","//third_party/iptables/libiptc:libip4tc","//third_party/iptables/libiptc:libip6tc","//third_party/iptables/libxtables:libxtables",]part_name = "netmanager_base"subsystem_name = "communication"
}

2.配置内核,按网站配置内核
[] Networking support —> [CONFIG_NET]
Networking Options —>
[
] Network packet filtering framework (Netfilter) —> [CONFIG_NETFILTER]
[] Advanced netfilter configuration [CONFIG_NETFILTER_ADVANCED]
Core Netfilter Configuration —>
<
/M> Netfilter connection tracking support [CONFIG_NF_CONNTRACK]
</M> Netfilter Xtables support (required for ip_tables) [CONFIG_NETFILTER_XTABLES]
<
/M> LOG target support [CONFIG_NETFILTER_XT_TARGET_LOG]
IP: Netfilter Configuration —>
<*/M> IP tables support (required for filtering/masq/NAT) [CONFIG_IP_NF_IPTABLES]

1.第一个问题

can’t initialize iptables table `nat’

在网上试了N种方法无效,突然想起来有没有可能内核没有配置
将CONFIG_NF_NAT改成Y
顺带这把iptables相关的全改了

后续解冲突,基本需要编译的文件都在ipv4文件夹下和netfilter文件夹下

2.第二个问题

nat问题解决完,又出现新的BUG
MASQUERADE Target not found

1.没道理,iptables所有东西我都加了,找了一份安卓的kernel看,发现有一个ipt_MASQUERADE.c的文件.
2.移过来,解不完的冲突,放弃.
3.检查了一下kernel的版本,发现一个是4.x,一个是5.x
4.在网上下了几份5.x的,发现都没有ipt_MASQUERADE.c,难道命令变化了
5.打开我自己的手机,kernel版本是linux_5.10,尝试把wifi转发到sim卡上去,iptables -t nat -A POSTROUTING -o ccmni0-j MASQUERADE,命令可用
6.既然iptables命令没有变化,肯定是能够支持的MASQUERADE.直接全局搜索
终于在在xt_MASQUERADE.c里找到了

7.最后找了份linux5.X的config,把ip和netfileter的配置copy下来了

cv大法好!

linux_5.10 iptables踩坑相关推荐

  1. lgg8各个版本_LG G8 展示机 升级安卓10 防踩坑指南

    先来对比下展示机版本信息是不是大体相同再下手 关于手机中,无s/n,无IMEI 安卓9软件版本为G820UM10C,硬件版本1.0 被阉割功能:5G频段wifi,nfc,移动网络(无基带),高分屏,r ...

  2. iptables踩坑记

    1:第一坑:众所周知nf_conntrack,下面会有介绍补坑方法. 2:连环坑: 要解决第一个坑,需要修改内核参数,如: net.netfilter.nf_conntrack_tcp_timeout ...

  3. android gradle权威指南pdf_干货 | 携程 Android 10适配踩坑指南

    作者简介 曙光,携程资深软件工程师,负责市场营销相关研发及管理工作.2019 年 9 月 3 日,Google 发布了 Android 10 正式版.Android 10 聚焦移动创新.安全隐私和数字 ...

  4. Redisson3.10 RCacheMap踩坑记录

    RMapCache实现了对map中每个key的淘汰机制eviction,是通过一系列org.redisson.EvictionScheduler来实现定期清理的,但是经测试,时效性不能保证,面向小批量 ...

  5. 7代cpu能装虚拟xp系统吗_Intel 10代PC/笔记本安装Win7踩坑记 amp; 驱动分享

    免责声明:本文只是从技术角度进行讨论,主要因我自己的兴趣而引发测试.只代表个人观点,与任何组织机构无关. 目录 -  从赛扬G5900"亮机"CPU说起 -  10代Core Wi ...

  6. Win 10 + Ubuntu 18.04 双系统安装与深度学习环境配置安装踩坑实录(上篇)

    Win 10 + Ubuntu 18.04 双系统安装与深度学习环境配置安装踩坑实录(上篇) 折腾了两三天总算顺利在电脑上完成了装x的双系统安装,一路走来还比较顺利,主要在ubuntu的显卡设置上躺了 ...

  7. openmeetings6.10安装配置 踩坑记录

    2021SC@SDUSC 本文采用的是下载源码并利用idea安装依赖.进行配置的方法 openmeetings6.10源码下载地址: Github apache/openmeetings 官方源码运行 ...

  8. 用户数从 0 到亿,我的 K8s 踩坑血泪史

    作者 | 平名 阿里服务端开发技术专家 导读:容器服务 Kubernetes 是目前炙手可热的云原生基础设施,作者过去一年上线了一个用户数极速增长的应用:该应用一个月内日活用户从零至四千万,用户数从零 ...

  9. 阿里云服务器 搭建单体redis 以及踩坑

    在搭建阿里云服务器的过程中,踩坑很多,特写此文: 简介 Redis是一个开源(BSD许可),内存数据结构存储,用作数据库,缓存和消息代理.它支持数据结构,如字符串,散列,列表,集合,带有范围查询的排序 ...

  10. k8s containerd集群配置安装完整踩坑教程

    完整踩坑和精简内容 k8s containerd配置 containerd安装参考 k8s安装参考 环境 两台机器 hostnamectl set-hostname master hostnamect ...

最新文章

  1. 用ASP.NET上传图片并生成带版权信息的缩略图
  2. PHP问题 —— Deprecated: Function ereg_replace() is de
  3. mysql关联表插入-php环境中
  4. outlook阅读html,Outlook HTML邮件中英文混排字体设置
  5. 知乎香港IPO发售价定为每股32.06港元
  6. JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查)
  7. three.js加入监控
  8. JavaScript中String的replace函数
  9. Linux桌面系统远程访问全解析
  10. 创建GitHub账号及使用
  11. 开源机器人库orocos KDL 学习笔记(二):Geometric
  12. 安卓课程设计之记账本_基于Android个人用户记账本系统课程设计报告
  13. GitHub 热点速览 Vol.24:程序员自我增值,优雅赚零花钱
  14. golang 常量 iota
  15. 花菁染料cas138248-55-2齐岳生物
  16. 对接支付宝单笔转账接口
  17. eos bp节点 超级节点搭建
  18. 看看别人研究生在做什么,在看看自己---推荐《我这十年》-----一个研究生的自我总结
  19. 概率论的学习和整理13--方差和协方差(未完成)
  20. mysql导入指定数据库_mysql命令行导入sql文件到指定数据库的方法

热门文章

  1. 记一次OpenStack排错Exceeded maximum number of re tries. Exhausted all hosts available for retrying build
  2. C和C++的二进制,八进制,十六进制输出格式(全面版)
  3. win7浏览器主页修改不过来_ie主页被锁定无法修改怎么办?ghost win7 ie主页修改不了的两种解决方法...
  4. 浅谈Web Worker和Service worker
  5. 多目标蜉蝣优化算法(MOMA)附Matlab代码
  6. 网络安全协议与技术练习题
  7. 电力电子课程设计:简易密码控制装置
  8. IOS 验证手机号格式
  9. 企业运维之服务管理 -- supervisord
  10. 阿里巴巴2021校招