Linux系统配置成简单的路由器
一、两个不同网段的子网相互访问或通信
废话不多说了,直接上图,一目了然吧。
按照如图配置,就可以实现两个不同网段的子网相互通信。
二、连接上网的配置:
如果想让这两个子网,不仅可以相互通信,而且还可以连接到Ineternet。那就需要三块网卡:
一台机器PC1配置三块网卡eth0、eth1和eth2.eth0连接外网,eth1和eth2分别连接两个不同网段的子网。假定192.168.0.3连接外网,网关为192.168.0.1.PC2为一个网卡接入内网,IP为192.168.1.2,网关为192.168.1.1
PC3为一个网卡接入另一个子网,IP:192.168.2.2,网关为192.168.2.1.
现在想PC2和PC3想通过PC1不仅可以相互通信还可以连接,上网。
1.首先要打开PC1的IP转发功能,默认是关闭的。可用下面命令检查:
more /proc/sys/net/ipv4/ip_forward
如果显示为0,则是关闭的,需要打开,
echo 1>/pro/sys/net/ipv4/ip_forward
由于该命令只是暂时打开转发,为了防止重启配置失效,需要进行如下配置:
vim /etc/sysctl.conf
将其中net.ipv4.ip_forward=1前面的注释去掉。然后运行
立即生效,或者重启。
为PC1进行如下设置:
vim /etc/network/interface auto eth0
iface eth0 inet static
address 192.168.0.3
netmask 255.255.255.0
gateway 192.168.0.1 auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0 auto eth2
iface eth2 inet static
address 192.168.2.1
netmask 255.255.255.0
重启网络:
$ sudo /etc/init.d/networking restart
你也可以使用route命令来添加,如下所示
route add -net 192.168.1.0/24 dev eth1
route add -net 192.168.2.0/24 dev eth2
2.PC2和PC3需要将缺省网关分别设置为PC1eth1的ip和PC1eth2的ip:
#PC2
vim /etc/sysconfig/network auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1 #PC3
vim /etc/sysconfig/network auto eth0
iface eth0 inet static
address 192.168.2.2
netmask 255.255.255.0
gateway 192.168.2.1
重启网络:
$ sudo /etc/init.d/networking restart
3.注意,当时就是忘了这个命令,弄了很久:
$ sudo iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE $ sudo iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.0/24 -j MASQUERADE
此刻,一个简单的不同网段相互通信,并且能够连接互联网,小型的路由器就这样完成了。
Linux系统配置成简单的路由器的更多相关文章
- Linux系统配置VSFTP软件详解
Linux系统配置VSFTP软件详解 出处 http://www.sudu.cn/service/detail.php?id=11656 vsftpd.conf 是vsftpd的配置文件,用来控制vs ...
- Linux系统配置VI或VIM的技巧
Linux系统配置VI或VIM的技巧作者:IT专家网论坛出处:IT专家网论坛2008-10-28 11:08配置VI和VIM的颜色显示,使它能够高亮度显示一些特别的单词,这对编写程序很有用⋯⋯ 1.V ...
- 【玩转开源】BananaPi R2 —— 第三篇 基于Openwrt开发一个简单的路由器
上一篇讲解了R2的网口配置,这一篇我们以BananaPi R2为例子来实现一个简单的路由器:那么一个简单的路由器应该具备什么样的功能呢?最简单的说就是wan+lan+ap这三个功能. 首先wan+la ...
- LINUX系统配置
LINUX系统配置 Linux 安装jdk方法; Linux Tomcat 安装与配置 Linux redis 安装与配置 (例1) Linux redis安装配置(例2) NGINX 安装 Linu ...
- Linux curl使用简单介绍
在两台新搬迁的微信服务器上执行命令: curl -H "Content-Type: application/json" -d '{"partner_no":&q ...
- Linux下一个简单的日志系统的设计及其C代码实现
1.概述 在大型软件系统中,为了监测软件运行状况及排查软件故障,一般都会要求软件程序在运行的过程中产生日志文件.在日志文件中存放程序流程中的一些重要信息, 包括:变量名称及其值.消息结构定义.函数返回 ...
- [转帖] Linux 创建一个简单的私有CA、发证、吊销证书
原创帖子地址: https://blog.csdn.net/mr_rsq/article/details/71001810 Linux 创建一个简单的私有CA.发证.吊销证书 2017年04月30 ...
- Linux——帮助命令简单学习笔记
Linux帮助命令简单学习笔记: 一: 命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信 ...
- Linux守护进程简单介绍和实例具体解释
Linux守护进程简单介绍和实例具体解释 简单介绍 守护进程(Daemon)是执行在后台的一种特殊进程.它独立于控制终端而且周期性地执行某种任务或等待处理某些发生的事件.守护进程是一种非常实用的进程. ...
随机推荐
- Oracle 搜集统计信息的存储过程
DECLARE CURSOR STALE_TABLE IS SELECT OWNER, SEGMENT_NAME, CASE WHEN SIZE_GB < 0.5 THEN 30 WHEN SI ...
- a great tool for automatically formating your code!
1. make your own format file at your project's root or file's folder. (The clang-format will automat ...
- Prime Path(素数筛选+bfs)
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9519 Accepted: 5458 Description The m ...
- Cent OS 命令行和窗口界面默认登录切换方法
在 CentOS 中的修改方法如下: 1. root登陆,免得老是sudo 2. 打开/etc/inittab 文件 #vim /etc/inittab 3. 在默认的 run level 设 ...
- 【转】Android与JNI(二) -- 不错
原文网址:http://www.cnblogs.com/eddy-he/archive/2012/08/09/2629974.html 软件版本: ubuntu10.04 java version & ...
- Java---注解、类加载器-加强-实现运行任意目录下class中加了@MyTest的空参方法
做自己的类加载器 虚拟机的核心是通过类加载器来加载.class文件,然后进行相应的解析执行.那么我们可以自己做类加载器,手动加载需要的.class以进行解析执行,从而扩展虚拟机的功能. 以下内容摘自A ...
- 《University Calculus》-chape4-导数的应用-微分中值定理
罗尔定理:如果函数f(x)在[a,b]上连续并且在(a,b)处处可微,并且有f(a) = f(b),则我们必然何以找到一个c∈(a,b),使得f’(c) = 0. 证明:我们从函数f(x)的最大值和最 ...
- UVa1453或La4728 凸包+枚举(或旋转卡壳)
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- Jenkins 二:邮件配置
默认邮件的配置 假设管理员邮箱是 user1@domain1.com,密码是pw1. 1. 打开“系统管理”-> “系统设置”. 2. 找到“Jenkins Location”-> “系统 ...
- linux 编译安装apache
1.下载apache.安装apache #wget http://apache.etoak.com//httpd/httpd-2.4.4.tar.gz #tar zxvf httpd-2.4..4.t ...