Linux共享网络给其它主机

Linux共享网络给其它主机

文章目录

前言

本文主要讲解如何快速配置共享网络给同网段内其它主机,主要有如下几种情况:

  1. 本机有无线和有线网卡,无线能上网有线不能上网,有线网段内其它主机共享网络
  2. 本机有多有线网卡,其中一个网段能上网,共享网络给另一网段内其它主机

具体配置过程如下。

设置有网主机转发

配置本机网络允许转发,修改/etc/sysctl.conf

bash 复制代码
sudo vim /etc/sysctl.conf

# 增加或解屏蔽下边这行
net.ipv4.ip_forward=1

查看本机可以上网网卡的id

bash 复制代码
ip a
或
ifconfig
或
ipconfig

博主能上网的网卡名为wlan0,则配置iptables如下:

bash 复制代码
# 配置基本规则,允许进及转发
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT

# 允许所有主机均可用该转发
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
# 删除用 -D 参数,后续同理
# sudo iptables -t nat -D POSTROUTING -o wlan0 -j MASQUERADE

# 只允许特定网段主机访问网络
sudo iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o wlan0 -j MASQUERADE

# 只允许特定主机访问网络
sudo iptables -t nat -A POSTROUTING -s 192.168.100.11,192.168.100.11 -o wlan0 -j MASQUERADE

# 只允许特定某几个主机访问网络
sudo iptables -t nat -A POSTROUTING -s 192.168.100.11-192.168.100.100 -o wlan0 -j MASQUERADE

iptables固化^1^配置如下:

bash 复制代码
sudo apt-get install iptables-persistent
sudo iptables-save -f /etc/iptables/rules.v4

如果需要重启恢复初始路由或卸载,使用下边命令:

bash 复制代码
$ sudo apt-get remove iptables-persistent
$ sudo rm -rf /etc/iptables/

设置无网主机接入

设置有两种工具ip routeroute

ip route设置

如果有安装此软件,可用ip route设置^2^^3^

bash 复制代码
# 查看当前路由表
sudo ip route

# 添加转发路由
sudo ip route add default via 192.168.10.50

# 删除转发路由
sudo ip route del default via 192.168.10.50

route设置

如果有安装net-tools可以使用如下^4^

bash 复制代码
# 查看当前路由表
sudo route

# 添加转发路由
sudo route add default gw 192.168.10.50 # 192.168.10.50 即主机A的IP地址

# 删除转发路由
sudo route del default gw 192.168.10.50 # 192.168.10.50 即主机A的IP地址

固化配置

bash 复制代码
# 修改开机自启
sudo vim /etc/rc.local

# 增加如下,根据上边选择的方式配置下边这行
# BEGIN: ADD ROUT FOR NETWORK
sudo ip route add default via 192.168.10.50
# END: ADD ROUT FOR NETWORK

总结

此时配置的无网主机已经能够连接到网络里了,大家也可以在此基础上再做进一步的配置,有问题欢迎留言交流。


  1. 【让云服务器更灵活】iptables转发tcp/udp端口请求_iptables udp转发-CSDN博客 ↩︎

  2. linux下4g模块共享网络给内网_quectel-cm 源码-CSDN博客 ↩︎

  3. route 添加路由 和 IP route 添加路由_ip route add-CSDN博客 ↩︎

  4. linux主机无线网络通过有线网口共享网络_linux 网线共享网络-CSDN博客 ↩︎

相关推荐
Peter_chq26 分钟前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮1 小时前
Linux 使用中的问题
linux·运维
音徽编程2 小时前
Rust异步运行时框架tokio保姆级教程
开发语言·网络·rust
dsywws2 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零3 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
wclass-zhengge3 小时前
Docker篇(Docker Compose)
运维·docker·容器
李启柱4 小时前
项目开发流程规范文档
运维·软件构建·个人开发·设计规范
23zhgjx-NanKon4 小时前
华为eNSP:QinQ
网络·安全·华为
23zhgjx-NanKon4 小时前
华为eNSP:mux-vlan
网络·安全·华为
点点滴滴的记录4 小时前
RPC核心实现原理
网络·网络协议·rpc