Linux双网卡路由器配置

一、测试工作室的网络要求:

测试工作室在会议室内,作为独立测试环境,希望于公司现有网络分开;因为希望能够访问公司内网的资源,也希望不用去会议室就可以远程桌面访问测试服务器,或者通过不同端口访问发布在工作室内部的应用程序。 这里就提出了两个要求:

1、 测试工作室可以随意访问公司内网(主要是访问内网的数据库服务器或者共享文件);

2、 公司内网可以通过特定端口访问测试工作室(http协议访问应用程序,远程桌面访问控制测试服务器)。

这恰巧就是一台普通路由器应该具备的功能。普通家庭用的路由器就是具备路由转发功能,实现共享上网,然后还可以映射端口,供外网访问到内网开启的对外服务。 这里重点写下里面的路由实现原理,以解释我们访问实现方法。

二、liunx双网卡代理服务器的信息

操作系统:Redhat Linux9

网络图: 公司内网(10网段)——公司网关——外网| 网卡Eth0(10.1.10.173) | linux代理做的路由 | 网卡Eth1(192.168.1.1) | 交换机——工作组(192网段)

网卡: Eth0:IP:10.1.10.173 Mask:255.255.255.0 Gateway:10.1.10.254 Eth1:IP:192.168.1.1 Mask:255.255.255.0 Gateway:空 路由表:

设置完毕后,系统自动添加 Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 * 255.255.255.0 U 0 0 0 eth1 10.1.10.0 * 255.255.255.0 U 0 0 0 eth0 default 10.1.10.254 0.0.0.0 UG 0 0 0 eth0

路由脚本: touch /var/lock/subsys/local

#到达指定目录

/sbin/modprobe ip_tables

/sbin/modprobe ip_nat_ftp /sbin/modprobe ip_conntrack_ftp

#加载这些功能模块

/sbin/iptables –F

#删除file表中的全部规则

/sbin/iptables -F -t nat

#删除nat表中的全部规则

/sbin/iptables –X

#删除用户指定的链

/sbin/iptables –Z

#把所有链的包及字节的计数器清空

/sbin/iptables -P INPUT ACCEPT

/sbin/iptables -P FORWARD ACCEPT

/sbin/iptables -P OUTPUT ACCEPT

#指定默认的链 INPUT、FORWARD、OUTPUT都允许。

echo 1 > /proc/sys/net/ipv4/ip_forward

#开启内核包转发功能

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 10.1.10.173

#修改出去的192.168.1.*的包成转化为地址10.1.10.173出去

echo "60" > /proc/sys/net/ipv4/tcp_keepalive_time

#TCP链路保持连接时间60s

echo "45" > /proc/sys/net/ipv4/tcp_keepalive_intvl

#keepalive探测包的发送间隔

echo "5" > /proc/sys/net/ipv4/tcp_keepalive_probes

#如果对方不予应答,探测包的发送次数

iptables -t nat -A PREROUTING -d 10.1.10.173 -p tcp --dport 7001 -j DNAT --to 192.168.1.11:7001

iptables -t nat -A PREROUTING -d 10.1.10.173 -p tcp --dport 3389 -j DNAT --to 192.168.1.11:3389

#端口映射(-t 表nat, -A后面增加一条, PREROUTING 修改路由之前进入的包, -p 采用的tcp协议,--dport 端口号,-j 目标跳转,DNAT 进来的时候改变目的地址)对nat表增加一条进来的地址为10.1.10.173,端口为*的包跳转到内网地址的对应的端口。3389为远程桌面默认端口。

三、路由包转发说明

1、测试工作室机器互相访问 测试工作室的机器(IP为192.168.1.*)的机器访问同一网段的机器当然没有问题,默认路由表里面已经有了,192.168.1.*网段的数据包都通过eth1网卡转发。(没有这块网卡其实也是可以访问的,只不过是通过对局域网进行广播寻找到目的地址)。

2、测试工作室机器对公司内网访问 测试工作室的机器(192.168.1.*)的机器对公司内网机器(10.1.10.*)的访问,网卡自动识别目的地址为10.1.10.*的数据包,于是eth1就把数据表交给eth0,然后从eth0发给公司内网的机器。

3、公司内网通过端口访问测试工作室的机器 公司内网的机器(10.1.10.*)访问测试工作室的机器(192.168.1.*)时,并不能直接访问到192.168.1.*网段,因为我们的网关是10.1.10.254,他找不到测试工作室的网段。但是我们可以访问10.1.10.173,这块和我们同一个网段的网卡,同时也是路由的eth0外网卡,然后路由识别对10.1.10.173的访问,然后把包丢该eth1,eth1按照我们设置好的规则(脚本里面的规则),把对不同端口访问的数据包丢给相应的测试工作室的机器。

其中需要说明的重点:

1、“开启内核包转发功能”,路由才会去把两个网段之间访问的数据在两块网卡之间转发。

2、我们发送的数据都是被打包分成很多很多小的数据包转发的,数据包里面包含了源地址、目的地址、校验码等等信息。数据包通过网卡转发的时候,网卡会修改这些信息,以实现我们夸网段的访问。 比如192.168.1.2访问10.1.10.6,数据包地址经过一次192.168.1.2转换为10.1.10.173,由eth0发给10.1.10.6,当返回请求的数据包到达10.1.10.173,网卡了解到请求是192.168.1.2发出的,所以再把10.1.10.173地址修改为192.168.1.2交给eth1去转发给192.168.1.2。 这些都是基于TCP/IP协议的访问。

由此我们还可以自己思考下,测试工作室的机器(IP为192.168.1.*)访问google的时候数据包经过eth1转发,再通过公司网关10.1.10.254伪装成公司公网地址*.*.*.*转发,当我们的请求返回的时候可想而知数据包包含的信息量,以及TCP/IP这些底层协议的奇妙。

Linux双网卡路由器配置相关推荐

  1. linux双网卡驱动配置,linux网卡驱动安装、双网卡绑定

    本次课程包含RAID0/1/5/6/10/50/60配置实验(使用Dell R720服务器实验).Redhat/CentOS/ubuntu/windows操作系统安装.windows/linux网卡绑 ...

  2. linux双网卡绑定配置lacp,Redhat和Centos操作系统双网卡绑定

    Redhat和Centos操作系统双网卡绑定 猫先生 • 2019 年 05 月 31 日 在我们日常Linux使用中,一般对于生产网都会使用双网卡或多网卡接入,这样既能添加网络带宽,同时又能做相应的 ...

  3. linux实现双网卡互通,linux 双网卡互通配置

    ubuntu下 #!/bin/sh #前提用联通IP登录系统 cp /etc/iproute2/rt_tables /etc/iproute2/rt_tables.bak # telecom #ech ...

  4. linux双网卡私网,linux双网卡路由配置私网专线

    ifcfg-enp2s0f0公网如下: cat /etc/sysconfig/network-scripts/route-ifcfg-enp2s0f0 TYPE=Ethernet PROXY_METH ...

  5. Linux操作系统下双网卡路由表配置

    Linux操作系统下双网卡路由表配置 作者:佚名 字体:[增加 减小] 来源:互联网 时间:09-08 17:08:11 我要评论 如果eth0为192.168.10.123/255.255.255. ...

  6. linux配置网卡绑定后不生效,Linux双网卡绑定实现负载均衡和失效保护

    在这介绍的Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作.其实这项 ...

  7. Linux 双网卡双IP配置

    Linux 双网卡双IP配置 当一台服务器接了两根网线,配置了两个IP,此时网络数据包的流向是如何走的? 我在cnaaa.com上购买了云服务器. 先说一下背景,原服务器IP为192.168.10.8 ...

  8. 设置双网卡mic linux,linux双网卡绑定为逻辑网卡

    网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术. 生产环境服务器为:DELL 网卡为:光纤 bond需要修改涉及的网卡配置文件 /e ...

  9. Linux双网卡绑定bond详解

    Linux双网卡绑定bond详解 bond 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术 通过以下命令确定内核是否支持 bondi ...

最新文章

  1. Day 08 周六下午的活动
  2. oracle数据库if else,[数据库]oracle中if/else的3种写法
  3. 从一个Android码农视角回顾2018GDD大会
  4. .Net Core实现健康检查
  5. 选择版本Win7系统VS2010下搭建qt开发环境
  6. es 全量同步mysql_使用canal将mysql同步到es中
  7. 带哨兵节点的链_Redis 哨兵节点之间相互自动发现机制(自动重写哨兵节点的配置文件)...
  8. 交叉熵的本质是极大似然估计
  9. php log日志管理,PHP日志LOG类定义与用法示例
  10. 如何设置Parallels Desktop游戏模式?
  11. linux zk服务 关闭_linux上安装zookeeper 启动和关闭的教程
  12. ADMM之1范数理解
  13. php如何将时间戳,PHP如何将时间戳转换日期
  14. adb shell 查看CPU架构
  15. 李飞飞计算机视觉课程CS231n总结
  16. 满减折扣促销功能代码优化实战
  17. 如何用PS把照片变成红/白/蓝底
  18. Keil、uVision、RealView、MDK、Keil C51之间的区别
  19. 怎么样才能在CODELITE中输出中文呢!!!
  20. python面试指南

热门文章

  1. 如何将本地django项目部署到服务器,Django本地项目部署到云服务器
  2. ubuntu安装记录——安装作业部落cmd markdown
  3. PTA 乙级 1026 程序运行时间 (15point(s))
  4. MLK | 特征工程系统化干货笔记+代码了解一下(上)
  5. OSPF协议简述(二)
  6. 台式电脑怎么调分辨率_台式电脑分辨率怎么调(分辨率调多少合适)
  7. OpenCV_7漩涡
  8. 西安:食肉种族的最爱
  9. 401 错误原因和解决方案
  10. Windows Azure Virtual Machine (27) 使用psping工具,测试Azure VM网络连通性