当你在户外、移动环境的局域网内,有了一台linux的小工控机,它能上外网,往往是通过4g SIM卡上网,那么如果你想让其它机器,借助它上网,那么只要这台4g卡机器还有一块内置的以太网卡,就可以达到目的。这在移动物联网的应用中,很常见。这样就可以让它充当一个简便的路由器,而无需再配备什么专门的4g路由器,虽然那个也很便宜,但是更少的设备意味着故障点的减少+能源消耗的减少+对软件路由的充分理解。

服务端设置:

首先在外网机器(假设以太网口IP为:192.168.1.1):

1)在 /etc/sysctl.conf中打开 ip4转发的注释,保证重启后不丢失iptables

net.ipv4.ip_forward=1

2) 设置宽容模式

apt install selinux-utilssetenforce 0

3)修改iptables

apt install iptablesiptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to 114.114.114.114
iptables -t nat -A POSTROUTING -j MASQUERADE

114那行,标识启用DNS转发114.114.114.114(这是个外网地址),此行不是必需,但加上没错。

MASQUERADE 这行,必加。表示NAT转发,这行为核心。

4) 保存iptables-save到文件

iptables-save>> /etc/iptables.up.rules

5)将文件,加载到网卡配置,启动后不会失效

vim /etc/network/interfaces 底部插入

dns-nameservers 114.114.114.114 114.114.115.115
pre-up iptables-restore < /etc/iptables.up.rules

客户端设置:

在客户端,把IP设置成刚才服务端的 IP在一个网段,假设叫:192.168.1.2,然后把网关IP指向服务端的 IP。

必要时,要把192.168.1.2客户端的DNS,手动设置成114.114.114.114,即便你在192.168.1.1的网口上安装绑定了一个dhcp server,能让客户端192.168.1.2的IP是动态获取的,仍然,要手动指定DNS。

通常,192.168.1.1的DHCP Server不是必须的,除非你有很多机器,要轮番借助这个网口上网,此时有dhcp Server就不用挨个手动指定IP了;如果只拖带一个机器上网,那么给这个机器手工指定下IP就行了。

总结:

NAT转发的好处是简单,设置方便;缺点是不能跟踪机器上了哪些网站,权限控制较弱。比如:客户端上的程序,访问了某个视频站点的端口8088,那么这个行为在网关机器上,如果运行netstat -ano|grep :8088,是没有任何输出结果的,此时这个行为被软件指令iptables  MASQUERADE所转发,但是iptables并不那么容易设置日志(可以设,要看主机的类型参考为何没有iptables的日志文件?-CSDN论坛 )

如果要做到这些,可以安装像squid这样的专业代理proxy。

附 iptables.up.rules 被修改后的内容:

root@localhost:# more /etc/iptables.up.rules# Generated by iptables-save v1.6.0 on Sun Oct 31 05:14:41 2021*raw
:PREROUTING ACCEPT [6491:789212]
:OUTPUT ACCEPT [3949:576976]
COMMIT# Completed on Sun Oct 31 05:14:41 2021
# Generated by iptables-save v1.6.0 on Sun Oct 31 05:14:41 2021*nat
:PREROUTING ACCEPT [164:10694]
:INPUT ACCEPT [4:1208]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination 114.114.114.114
-A POSTROUTING -j MASQUERADE
-A POSTROUTING -j MASQUERADE
COMMIT# Completed on Sun Oct 31 05:14:41 2021
# Generated by iptables-save v1.6.0 on Sun Oct 31 05:14:41 2021
*mangle:PREROUTING ACCEPT [6491:789212]
:INPUT ACCEPT [4555:667203]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [3949:576976]
:POSTROUTING ACCEPT [3949:576976]
COMMIT# Completed on Sun Oct 31 05:14:41 2021
# Generated by iptables-save v1.6.0 on Sun Oct 31 05:14:41 2021
*filter
:INPUT ACCEPT [4555:667203]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [3949:576976]
COMMIT# Completed on Sun Oct 31 05:14:41 2021

4G卡的linux机器充当路由器(Ubuntu16 设置iptables NAT )相关推荐

  1. vm ubuntu设置中文_如何在本地Ubuntu Linux机器或VM上设置LAMP服务器

    vm ubuntu设置中文 The purpose of this brief guide is to take you through the process of setting up a LAM ...

  2. 路由器linux+开机启动,路由器里设置FRP开机启动教程

    本次实验使用的路由器架构是mipsle(有人G806工业3g4g无线路由器|移动)路由器ssh用户名:usr密码:www.usr.cn,使用作者编译好的即可,建议使用WinSCP上传到/etc/目录 ...

  3. linux系统中查看己设置iptables规则

    1.iptables -L 查看filter表的iptables规则,包括所有的链.filter表包含INPUT.OUTPUT.FORWARD三个规则链. 说明:-L是--list的简写,作用是列出规 ...

  4. 基于嵌入式Linux系统的3G/4G路由器设计——iptables nat 模式

    1. 3G/4G路由器设计方案 本路由器的设计是基于三个模块来实现的,分别为3G模块.WiFi模块和Linux硬件平台,如图1所示.3G模块的功能是利用运营商的无线数据卡进行PPP拨号,使得路由器能通 ...

  5. Linux做路由器搭建局域网心得,用笔记本无线网卡充当路由器组建局域网

    用笔记本无线网卡充当路由器组建局域网 如果没有无线路由器,用有无线网卡的笔记本也能组建局域网. 现在,使用笔记本的用户越来越多,为了方便用户移动办公,随时上网,一些家庭或单位都利用无线路由器组建了无线 ...

  6. ubuntu系统4G卡上网操作图解

    突然心血来潮,研究了一下4G模块在Linux系统上的使用.本文使用的4G模块是华为的ME909s-821,系统为Ubuntu16.04,硬件平台为PC机的虚拟机,以及x86()板子. 硬件模块 华为M ...

  7. 廉价迷你 Linux 机器 Raspberry Pi 详解

    2019独角兽企业重金招聘Python工程师标准>>> 在今年早些时候Raspberry Pi刚刚发布,这个信用卡大小的迷你Linux机器瞬间走红.在它开始发售的那个晚上,Pi计划的 ...

  8. 廉价迷你Linux机器Raspberry Pi详解

    原文:http://www.cnbeta.com/articles/204970.htm 在今年早些时候Raspberry Pi刚刚发布,这个信用卡大小的迷你Linux机器瞬间走红.在它开始发售的那个 ...

  9. Docker容器中的Linux机器快速设置国内源

    Docker容器中的Linux机器快速设置国内源 在Docker容器中启动了服务后,当我们进入容器内,经常很多命令无法使用,比如最基本的vim,可能都没有安装,因为容器内只安装应用服务,导致无法编辑配 ...

最新文章

  1. python自学多久可以找到工作-自学Python的高效方法,学Python多久能找到工作?
  2. Tarjan算法 (强联通分量 割点 割边)
  3. java thrift client_使用thrift的java client调用python server
  4. 【软件测试】软件测试分类详述
  5. 17-8-26-WebApp总结
  6. 后代元素 span:first-child{...}
  7. C++:向函数传递对象(对象、对象指针、对象引用)
  8. 探码SaaS帮助企业开展数字化营销之路!
  9. go语言处理html文件,go语言操作文件实例笔记
  10. 【云原生Kubernetes系列第二篇】Kubernetes(k8s)核心组件(对的人兜兜转转最后还是会遇见)
  11. js根据IP地址获取当前的省市
  12. 我的世界服务器启动txt文件,我的世界服务器开启设置全攻略 我的世界开服图文详细教程...
  13. 开源数据集网站推荐,持续更新!
  14. python美多商城一
  15. 永磁直流电机 matlab仿真,永磁直流电动机的Simulink建模仿真教学.doc
  16. [iOS]-KVO+KVC
  17. python resample函数_Python pandas.DataFrame.resample函数方法的使用
  18. 电大考试计算机应用基础考试试题,最新电大统考计算机应用基础试题知识点
  19. 拓嘉启远电商:拼多多免拼卡怎样获得?如何使用
  20. CollapsingToolbarLayout+FloatingActionButton 打造精美详情界面

热门文章

  1. 零基础无学历,长沙哪家it学校好
  2. 达梦数据库8自动备份教程
  3. 一位男子开出的征婚条件
  4. 2015年计算机职称考试科目,2015年职称计算机考试科目Windows XP考前练习题15
  5. 用inkspace创建一个简单的LOGO
  6. 回收站被清空了如何找回文件
  7. android菜单回弹,Android ScrollLayout 下拉回弹
  8. 计算机专业大一用电脑吗,大一新生需要笔记本电脑吗 大一带笔记本有用吗
  9. 电商项目实战第五节: CSS3+HTML5+JS 设计案例【考拉海购网站】之【商品栏及右侧垂直导航】
  10. Ecstore/BBC 后台权限