将Linux做成路由器

news/2024/10/6 1:14:32/文章来源:https://www.cnblogs.com/fsdstudy/p/18288566

将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

这样我们的实验就搞定了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/739798.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

04-JS中的面向对象ES5

JS面向对象基础01 JS对象中key的类型02 创建对象的方法03 对象的常见操作 3.1 访问对象的属性 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="I…

程序员的AI工作流

AI 工具在日常工作中的应用逐渐成为程序员必备利器。本文介绍了作者常用的一些 AI 工具及使用方式,涵盖需求文档分析、技术文档编写、编程、PR/CR 和技术调研等工作内容,为提升工作效率提供了有力支持。作为一名程序员, 我现在已经深刻的体会到了AI带来的巨大的工作提升 本文…

An Attentive Inductive Bias for Sequential Recommendation beyond the Self-Attention

目录概符号说明BSARec (Beyond Self-Attention for Sequential Recommendation)代码Shin Y., Choi J., Wi H. and Park N. An attentive inductive bias for sequential recommendation beyond the self-attention. AAAI, 2024.概 本文在 attention block 中引入高低频滤波. 符…

[Leetcode]经典算法

检测环 快慢指针法是一种用于检测链表中是否存在环的有效方法,同时也可以找到环的起点。该方法的原理基于两个指针在链表上同时移动,其中一个移动得更快,而另一个移动得更慢。检测环的存在:使用两个指针,一个称为快指针(fast),一个称为慢指针(slow)。 在每一步中,快…

关于import multiprocessing引用出错

关于import multiprocessing引用出错 0. 原因 当前文件名与python包体中关键词出现同名,导致循环引用 1. 排查过程 问题代码 import timefrom multiprocessing import Process, Queue # 这里提示错误def producer(queue):queue.put("a")time.sleep(2)def consumer(q…

进程信号

进程信号的产生,本质,进程信号的操作,进程信号的底层实现,以及阻塞信号,屏蔽信号1. 信号的产生 1.1 信号概念在生活中有很多的信号在我们身边围绕,例如红绿灯,发令枪,上课铃等等 在接受到信号,我们可以做出三种动作 1.立马去做对应信号的事情 2.等一会再做,有自己的…

24-暑假软件工程日报(7_7)

工作时间:7月7日 14:00-17:00 工作内容: 基本完成第二阶段大程序构建 代码:#include <cstring> #include <iostream> #include <list> #include <math.h> #include <queue> #include <stack> #include <stdio.h> #include <st…

[CISCN2019 华北赛区 Day2 Web1]Hack World

进入题目 输入数字1数字20对select 空格 union or 等等测试发现没有过滤select 空格也被过滤 注意不能单独测试用亦或运算 1^0为真 尝试0^if((ascii(substr((select(flag)from(flag)),1,1))=100),0,1) 回显正常根据回显判断正误 编写脚本爆破,由于该网站请求太快会报429,请求…

CubeMx的部分配置显示不出来

现象描述:CubeMx的部分配置显示不出来 处理方法:(1)继续进行其他配置,给工程起名字,并生成代码;(2)关闭CubeMx后再次打开

[CISCN2019 华东南赛区]Double Secret

进入题目由于请求不能过快,目录扫描工具失效可写脚本, 根据题目两个secret,猜测有serect目录 访问猜测还有一个secret参数随意输入发现源码泄露 注意到有flask,考虑python模板注入 注意到发现rc4加密 找师傅的加密脚本 import base64 from urllib.parse import quote def rc4…

[CISCN2019 华东南赛区]Web11

进入题目注意到xff 在url处随意输入目录xff随之变化 注意下放smarty是php模板 猜测xff为模板注入点 如下用if标签看到回显得到flag flag{6efda977-94fb-4d30-8668-fe28458ec2bf}

game1

进入题目发现是一个游戏发现有一个score.php的发包 发现有分数等 对比不同分数的包发现sign值都有ZM后疑似为base64于是将分数改为较高的分,ZM+base64 尝试要补一个=得到flag