首页 > 系统相关 >将Linux做成路由器

将Linux做成路由器

时间:2024-07-07 15:41:07浏览次数:16  
标签:root oe01 oe02 网卡 ipv4 Linux 路由器 做成 ens33

将Linux做成一个路由器

主机名 IP
oe01 192.168.200.170(外网)
192.168.100.164(内网)
oe02 192.168.100.162(内网)
通过这个规划表,oe02这个主机是只有一个内网网卡的,无法上网,我们需要将oe01这个Linux做成一个路由器,也就是从内网网卡收到的流量转发到外网网卡,然后出去路由
方法有2种,一种是通过iptables,另一种是通过firewalld

1. oe02测试网络连通性

[root@oe02 ~]# ping www.baidu.com
ping: qq.com: Name or service not known

现在是不通外网的,我们来配只oe01

2. 配置oe01使用firewalld

需要开启内核参数net.ipv4.ip_forward

[root@oe01 ~]# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
[root@oe01 ~]# sysctl -p
net.ipv4.ip_forward = 1

ipv4的转发就开启了,然后我们还需要开启一个地址伪装

[root@oe01 ~]# firewall-cmd --add-masquerade --permanent 
success
[root@oe01 ~]# firewall-cmd --reload
success

这些命令执行报错检查你的防火墙是否开启,如果没有开启是需要开启的

3. oe02配置网络

因为我们现在已经将oe01做成了一个路由器,所以我们的oe01就是oe02的网关

# 删除原先配置
[root@oe02 ~]# nmcli connection delete ens33 
Connection 'ens33' (ff2e31ed-ae33-4f04-9a19-7af06f9fe623) successfully deleted.
# 配置新的网卡
[root@oe02 ~]# nmcli connection add ens33 ipv4.addresses 192.168.100.162/24 ipv4.dns 119.29.29.29 ipv4.gateway 192.168.100.164 autoconnect yes type ethernet
[root@oe02 ~]# nmcli connection up ens33 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)

现在我们的oe02的网关就指向了oe01的192.168.100.164这个内网网卡,然后我们测试现在oe02的网络

[root@oe02 ~]# ping qq.com
PING qq.com (123.150.76.218) 56(84) bytes of data.
64 bytes from 123.150.76.218 (123.150.76.218): icmp_seq=1 ttl=127 time=16.9 ms

oe02的网络现在就通了
这种方式是通过防火墙来做的,但是一般情况下防火墙都是会被关闭的,所以接下来我们通过iptables来做

3. iptables配置

# 在oe01上操作
[root@oe01 ~]# nmcli connection show
NAME     UUID                                  TYPE      DEVICE  
ens33    ff2e31ed-ae33-4f04-9a19-7af06f9fe623  ethernet  ens33   
ens34    e2f6a41b-47e7-4706-adab-2b1b46a84149  ethernet  ens34

我们的ens33是一个外网网卡,ens34是一个网卡网卡,我们希望的是把ens34上的流量转发到ens33上

# 先关闭防火墙,防火墙关掉之后你的oe02就上不了网了,可以自己试试
[root@oe01 ~]# systemctl stop firewalld
# 允许从 ens34 接口进入并从 ens33 接口出去的流量
iptables -A FORWARD -i ens34 -o ens33 -j ACCEPT
# 设置 NAT 规则,让流量从 ens33 出去时进行地址转换
iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE

这样我们的iptables也配置完了,测试一下

[root@oe02 ~]# ping qq.com
PING qq.com (112.60.14.252) 56(84) bytes of data.
64 bytes from 112.60.14.252 (112.60.14.252): icmp_seq=1 ttl=127 time=13.2 ms
64 bytes from 112.60.14.252 (112.60.14.252): icmp_seq=2 ttl=127 time=14.0 ms

这样我们的实验就搞定了

标签:root,oe01,oe02,网卡,ipv4,Linux,路由器,做成,ens33
From: https://www.cnblogs.com/fsdstudy/p/18288566

相关文章

  • Linux系统部署MongoDB开源文档型数据库并实现无公网IP远程访问
    个人名片......
  • Linux搭建DNS服务器实验
    一、实验目的及要求  实验目的◼理解DNS协议◼掌握Linux环境下DNS服务器的配置方法实验要求◼设置域名***.com(***为名字缩写)◼搭建dns服务器,实现域内三台服务器的正向和反向解析web.***.com192.168.x.11ftp.***.com192.168.x.12bbs.***.com192.168.x.13去......
  • Linux启动&重启jar脚本
    启动&重启jar#!/bin/bash#设置颜色代码\033、\e和\E是等价的RED='\033[0;31m' #红色 GBLUE='\033[0;36m' # GREEN='\033[0;32m' #绿色PURPLE='\033[0;35m'#紫色PINK='\E[0;35m' #粉红YELOW='\E[0;33m......
  • 在linux服务器上平滑发布(蓝绿发布)java项目,不影响现有业务运行
    具体操作使用nginx作为负载均衡,配置upstream(注意修改项目名)upstream项目名{serverlocalhost:7008max_fails=3fail_timeout=30s;serverlocalhost:7009max_fails=3fail_timeout=30s;}启动命令(注意修改jar位置及端口号),后修改为start.sh并......
  • Linux 防火墙配置指南:firewalld 端口管理应用案例(二十个实列)
       ......
  • FFmpeg开发笔记(三十六)Linux环境安装SRS实现视频直播推流
    ​《FFmpeg开发实战:从零基础到短视频上线》一书在第10章介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流。不过MediaMTX的功能实在是太简单了,无法应用于真实直播的生产环境,真正能用于生产环境的流媒体服务器还要看SRS或者ZLMediaKit。SRS是一......
  • 基于Linux的可信文件系统设计与实现(开题报告)
    本科毕业设计(论文)开题报告题目:基于Linux的可信文件系统设计与实现1、毕业设计的主要内容、重点和难点等1.主要内容:在操作系统中实现文件的各种操作,即新建、复制、删除等。使用加密算法对重要文件进行加密,保证文件的安全性,设置用户登录进入系统后才能操作文件,对用户密码......
  • 基于Linux的可信文件系统设计与实现
    目录摘要IAbstractII第1章绪论11.1选题背景及意义11.1.1选题背景11.1.2选题意义11.2国内外研究现状及发展趋势21.2.1国内研究现状21.2.2国外研究现状21.2.3发展趋势21.3论文研究主要内容3第2章技术及工具概述42.1Linux文件系统概述4......
  • 【Linux系列】Linux 性能调优工具的 9 张图
    性能观察工具静态性能工具性能压测工具性能调优工具sarperf-tools追踪工具BPF性能工具......
  • linux下高级IO模型
    高级IO1.高级IO模型基本概念1.1阻塞IO1.2非阻塞IO1.3信号驱动IO1.4IO多路转接1.5异步IO2.模型代码实现2.1非阻塞IO2.2多路转接-selectselect函数介绍什么才叫就绪呢?demoselect特点2.3多路转接-pollpoll函数介绍poll优缺点demo2.4多路转接-epoll(重点)epoll系......