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博客 ↩︎

相关推荐
o(╥﹏╥)3 分钟前
在 Ubuntu 上安装 VS Code
linux·运维·vscode·ubuntu·vs
AI慧聚堂28 分钟前
自动化 + 人工智能:投标行业的未来是什么样的?
运维·人工智能·自动化
不爱学英文的码字机器30 分钟前
[Linux] Shell 命令及运行原理
linux·运维·服务器
cdut_suye41 分钟前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
qq_433618441 小时前
shell 编程(三)
linux·运维·服务器
苹果醋31 小时前
2020重新出发,MySql基础,MySql表数据操作
java·运维·spring boot·mysql·nginx
两张不够花1 小时前
Jenkins 持续集成部署
运维·jenkins
网安墨雨1 小时前
常用网络协议
网络·网络协议
Tlzns1 小时前
Linux网络——UDP的运用
linux·网络·udp
码农土豆1 小时前
PaddlePaddle飞桨Linux系统Docker版安装
linux·docker·paddlepaddle