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](#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](#2)[3](#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](#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博客 ↩︎

相关推荐
molaifeng44 分钟前
Go 语言如何实现高性能网络 I/O:Netpoller 模型揭秘
开发语言·网络·golang
C_心欲无痕2 小时前
Dockerfile:构建 Docker 镜像
运维·docker·容器
zz_nj2 小时前
工作的环境
linux·运维·服务器
知乎的哥廷根数学学派2 小时前
基于多模态特征融合和可解释性深度学习的工业压缩机异常分类与预测性维护智能诊断(Python)
网络·人工智能·pytorch·python·深度学习·机器学习·分类
网络工程师_ling2 小时前
【 Elastiflow (ELK) 网络流量分析系统 部署教程】
网络·elk
极客先躯2 小时前
如何自动提取Git指定时间段的修改文件?Win/Linux双平台解决方案
linux·git·elasticsearch
C_心欲无痕3 小时前
nginx - 实现域名跳转的几种方式
运维·前端·nginx
suijishengchengde3 小时前
****LINUX时间同步配置*****
linux·运维
2301_780789663 小时前
高防 IP 的选择与配置确保业务稳定性
网络·网络协议·tcp/ip
willhuo3 小时前
基于xray的匿名、授权、IP白名单代理访问研究
服务器·网络·tcp/ip