针对需求

嵌入式开发中,经常使用板子和笔记本通过网线直连,如果需要板子连接到外网,就比较尴尬。

最简单方法,可以把板子接到局域网内,我们的笔记本通过局域网交换机连接到板子,可是,这样要很多修改 IP 的操作;通常情况下,这时,你还需要一台小交换机和几根网线在你桌子上。很麻烦对不对?

这里提供了一个替代方法:可以配置笔记本 IPV4 转发,笔记本用 Wi-Fi 来连接到网络,然后,板子与笔记本有线连接的情况下,板子可以通过笔记本连接到外网。

大致如下图:

开发板修改

1. 修改开发板 /etc/network/interface 文件,主要将 gateway 改为笔记本 IP。

2. 重新插拔网线让配置生效。(可以ifdown后ifup,插拔网线更快些 :)

笔记本(ubuntu,均需本机 root 权限):

1. 使能本机的 ip_forward :  echo 1 > /proc/sys/net/ipv4/ip_forward

2. 设置 iptables 规则:

  • 清除所有规则: iptables -F
  • 因为清除了所有,所以需要先允许 INPUT: iptables -P INPUT ACCEPT
  • 还需要允许 FORDWARD: iptables -P FORWARD ACCEPT
  • 允许 NAT 转发所有包到 wlan0:iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

可以使用下面两条指令来查看配置是否有效:

1. 如果 ip_forward 是打开的,则输出 1: cat /proc/sys/net/ipv4/ip_forward

2. iptables -nvL 看有哪些规则

如果是只有一个网口的台式机,没办法,那你还是乖乖的找交换机和网线去吧~!

ubuntu 设置 NAT 转发的更多相关文章

  1. Ubuntu 设置NAT共享网络(命令行方法)

    本文介绍如何使用iptables来实现NAT转发,事实上就是将一台机器作为网关(gateway)来使用.我们假设充当网关的机器至少有网卡eth0和eth1,使用eth0表示连接到外网的网卡,使用eth ...

  2. Cisco配置VLAN+DHCP中继代理+NAT转发上网

    实验环境: 路由器 使得TP-link 设置NAT转发使用,tp-link路由器网关设置成 192.168.30.254 (核心层)Cisco 3550三层交换机(型号C3550-I5Q3L2-M)配 ...

  3. iptables 设置端口转发/映射

    iptables 设置端口转发/映射 服务器A有两个网卡 内网ip:192.168.1.3 外网ip:10.138.108.103 本地回环:127.0.0.1 服务器B有网卡,8001提供服务 内网 ...

  4. 树莓派做路由器_配置防火墙filter和nat转发_转载

    转自:https://blog.csdn.net/hustsselbj/article/details/45866681 如果用树莓派当作路由器转发有线和无线网络,则需要对iptables进行相关配置 ...

  5. 什么叫NAT,设置NAT的两个方法

    NAT是网络地址翻译就是把公网IP翻译成私有地址, 又叫端口映射或端口转发. 采用路由方式是指ADSL拥有一个动态或固定的公网IP,ADSL直接接在HUB或交换机上,所有的电脑共享上网.这时ADSL的 ...

  6. VirtualBox设置NAT端口映射

    原文地址 :http://www.2cto.com/os/201209/153863.html   VirtualBox设置NAT端口映射   好吧,我知道这个问题有很多人都讲过,但是,你们不觉得VB ...

  7. CentOS 7 下配置 firewalld(firewall-cmd)实现 NAT 转发 软路由

    如果配合 DHCP 服务或实现更多功能. ☼ NAT 转发软路由 开启 NAT 转发之后,只要本机可以上网,不论是单网卡还是多网卡,局域网内的其他机器可以将默认网关设置为已开启 NAT 转发的服务器 ...

  8. 虚拟机网络设置(NAT模式)

    虚拟机网络设置(NAT模式) linux 1. 设置虚拟机网络 1.1. NAT子网设置 1.2. 网卡配置文件设置 1.3. 重启网络服务 1.4. 配置端口转发 2. 配置网络共享 预期想要搭建本 ...

  9. firewalld 实现nat 转发外网转发到内网 实现访问外网端口到内网

    第0步骤:  开启转发生效 [root@node178.oldboy.com ~]# cat /proc/sys/net/ipv4/ip_forward1 [root@node178.oldboy.c ...

随机推荐

  1. TinyFrame升级之四:IOC容器

    在这个框架中,我们使用Autofac作为IOC容器,来实现控制反转,依赖注入的目的. 在程序加载的时候,我需要将系统中所有用到的接口与之对应的实现进行装载.由于用户交互部分是在TinyFrame.We ...

  2. express:webpack dev-server开发中如何调用后端服务器的接口?

    开发环境:     前端:webpack + vue + vue-resource,基于如下模板创建的开发环境: https://github.com/vuejs-templates/webpack  ...

  3. Jenkins进阶系列之——17Jenkins升级、迁移和备份

    升级Jenkins Jenkins的开发迭代非常快,每周发布一个开发版本,长期支持版每半年更新一次(ps:大版本更新).如此频繁的更新,怎么升级呢? war:下载新版的war文件,替换旧版本war文件 ...

  4. IDEA 13 无法进入debug 模式解决方案

    1.最近在idea中使用tomcat开发项目,像往常一样打开tomcat进行debug,但奇怪的事情出现了,项目根本不进断点.后查找原因,估计idea的加载参数方式是:先加载tomcat中设置的参数, ...

  5. 三言两语聊Python模块–单元测试模块unittest

    实际上unittest模块才是真正意义上的用于测试的模块,功能强大的单元测试模块. 继续使用前面的例子: # splitter.py def split(line, types=None, delim ...

  6. 【BZOJ1001】狼抓兔子

    1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec  Memory Limit: 162 MBSubmit: 7530  Solved: 1724[Submit][S ...

  7. JavaScript学习笔记- 正则表达式常用验证

    <div> <h1>一.判断中国邮政编码匹配</h1> <p>分析:中国邮政编码都是6位,且为纯数字</p> <div>邮政编码 ...

  8. pdo知识总结

    PDO 用了这么久了这里抽时间总结下: pdo (php data object) 是php5 新出来的支持 mysql 操作的一个功能.用其可代替mysqli扩展.因为是php自带的.所以我觉得效率 ...

  9. STL中的next_permutation

    给定一个数组a[N],求下一个数组. 2 1 3 4 2 1 4 3 2 3 1 4 2 3 4 1 ..... 在STL中就有这个函数: 1.参数是(数组的第一个元素,数组的末尾),注意这是前闭后开 ...

  10. BOP 2016 复赛题目

    复赛采用团队赛的形式,基于Azure云计算平台在实际大数据的基础上展开前沿课题的较量. 在编程之美挑战赛复赛中,选手需要通过组队共同完成复赛题,考查选手编程能力的同时,也考验选手的团队协作能力.选手点 ...