人若无名,便可专心练剑

 route 标签

将raspberry pi 3 打造成你的路由器神器一(基础版本)

  |   0 评论   |   5,393 浏览

raspberrypi镜像烧录

1,首先到raspberry 官网下载镜像

https://www.raspberrypi.org/downloads/raspbian/

2,安装请参考

https://www.raspberrypi.org/documentation/installation/installing-images/README.md

3,将下载的镜像烧录到sd卡后,加电点亮。

呵呵,开始现在的正常路由化之路

实现形式:internet<->raspberry pi3 (无线网卡i)----------raspberry pi3 (有线网卡eth0) <--有线-->终端

1,由于raspberrypi 已经自带无线网卡这为我们网络接入网络带来了很大的方便,因此我们此处也把wifi端当成了我们路由器的wlan口

2,配置eth0静态地址(配置路径:/etc/network/interfaces)

3,按抓给你dhcp服务器,实现p地址分发

4,配置dhcp服务器 配置路径(/etc/dhcp/dhcpd.conf)

5,配置完成后将dhcp加入启动项

6,配置iptables

8,将iptables相关配置加入启动项

9,重启raspberry pi3 ,将笔记本或者网络设备通过RJ45头网线线接入raspberry的网络口,如果我们终端设置的为自动获取ip那么我们就可以直接获取到ip地址,然后就可以进行上网了。

当然至此:我们仅仅diy了个路由器(当然我们可以在这个路由器上干很多的东西,比如什么x鱼啊,什么之类的)。本片文章也是为下篇做为基础,因此简单掠过,下一篇将介绍,我们是如何打造为(梯子神器基于t-o-r网络),当然由于raspberry pi3的便携性,我们可以随身带,走到哪里都能方便为我们做"梯"。



将linux作为软路由器使用

  |   0 评论   |   3,464 浏览

前述:由于这段时间公寓网络线路部分出现了问题,造成网络端口不够用了,

         而我电脑一般都直接网线链接,因此原来的无线路由器就不能分配端口了

        但是。。呢。。我有两个两个物理网卡,呵呵,又可以倒腾下了。


网络环境:eth1:192.168.28.126/24  电脑外出网络地址
          eth0:192.168.29.1/24   准备的虚拟网络地址,
          无线路由器:tp_link,静态地址:192.168.28.2/24


大致很为以下步骤(以下均在root权限操作):

1,连接上eth1保证能正常上网。

2,eth0 配置如下:

root@c2y2:/# ifconfig eth0 192.168.29.1 netmask 255.255.255.0
3,添加路由(由于eth1 连接时 默认路由都自动设置好了,这你就不需要我们再重新设置了)
root@c2y2:/#  route add -net 192.168.29.0 netmask 255.255.255.0 dev eth0
或者
root@c2y2:/#  route add -net 192.168.29.0/24 dev eth0
4,开启内核网络转发
root@c2y2:/# echo 1 >/proc/sys/net/ipv4/ip_forward
5,启用iptables,开启转发并开启nat
root@c2y2:/# iptables -P FORWARD ACCEPT #开启转发
root@c2y2:/# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE #开启snat
6,配置tpl-link路由器如图:

路由器外出网路配置:


开启动态dhcp:



7,使用手机测试


:-),这样我们就可以上网了,enjoy,网络吧

到这里,我偷偷笑了,这里我们可以干的事有点多哦(发挥你的想象吧。。。。^_^)。。。。




附上两张设备照:eth1,图中的usb网卡,eth0:笔记本自带网卡 另外一张即路由器:其中eth0 网络接口与路由器的wan口连接




系统连上vpn后没法链接本地特定办公网络解决方案

  |   0 评论   |   2,517 浏览

由于自己一直有使用vpn的习惯,但是每当连上vpn后本地网络就断开了

其实这是由于我们连接vpn后将,vpn程序或者本机系统会自动的将所有流量路由到vpn链路上,问题就出现在了这里

呵呵,既然是路由的问题,那我们当然可以很好的解决哦,同样的办法操作本地路由,由于自己平时办公使用的电脑

为win,而自己下班后使用的为linux,因此给出两种方案:

一,win 下解决方案 

语法:


ROUTE [-f] [-p] [command [destination]
                  [MASK netmask]  [gateway] [METRIC metric]  [IF interface]

  -f           Clears the routing tables of all gateway entries.  If this is
               used in conjunction with one of the commands, the tables are
               cleared prior to running the command.
  -p           When used with the ADD command, makes a route persistent across
               boots of the system. By default, routes are not preserved
               when the system is restarted. Ignored for all other commands,
               which always affect the appropriate persistent routes. This
               option is not supported in Windows 95.
  command      One of these:
                 PRINT     Prints  a route
                 ADD       Adds    a route
                 DELETE    Deletes a route
                 CHANGE    Modifies an existing route
  destination  Specifies the host.
  MASK         Specifies that the next parameter is the 'netmask' value.
  netmask      Specifies a subnet mask value for this route entry.
               If not specified, it defaults to 255.255.255.255.
  gateway      Specifies gateway.
  interface    the interface number for the specified route.
  METRIC       specifies the metric, ie. cost for the destination.

All symbolic names used for destination are looked up in the network database
file NETWORKS. The symbolic names for gateway are looked up in the host name
database file HOSTS.

If the command is PRINT or DELETE. Destination or gateway can be a wildcard,
(wildcard is specified as a star '*'), or the gateway argument may be omitted.

If Dest contains a * or ?, it is treated as a shell pattern, and only
matching destination routes are printed. The '*' matches any string,
and '?' matches any one char. Examples: 157.*.1, 157.*, 127.*, *224*.
Diagnostic Notes:
    Invalid MASK generates an error, that is when (DEST & MASK) != DEST.
    Example> route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1
             The route addition failed: The specified mask parameter is invalid. (Destination & Mask) != Destination.

Examples:

    > route PRINT
    > route ADD 157.0.0.0 MASK 255.0.0.0  157.55.80.1 METRIC 3 IF 2
             destination^      ^mask      ^gateway     metric^    ^
                                                         Interface^
      If IF is not given, it tries to find the best interface for a given
      gateway.
    > route PRINT
    > route PRINT 157*          .... Only prints those matching 157*
    > route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2

      CHANGE is used to modify gateway and/or metric only.
    > route PRINT
    > route DELETE 157.0.0.0
    > route PRINT


场景:

vpn 内网地址网络:192.168.33.0/24 连上后分配的ip为:192.168.33.2  网关:192.168.33.1 vpn 外网地址: 180.97.33.67

本地内网哪个网络:192.168.30.0/24 本地ip地址为:192.168.30.113 网关:192.168.30.1

本地常用其他办公地址:192.168.0.0/24 网关:192.168.0.1  或者 192.168.77.0/24  网关:192.168.77.1 需要连接的地址:如:数据库:192.168.0.87  svn地址:192.168.77.187


连上vpn后,系统会自动加上路由如:


C:\Documents and Settings\Administrator>route print
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 25 11 6b 3e 34 ...... NVIDIA nForce 10/100 Mbps Ethernet
0xb0004 ...00 53 45 00 00 00 ...... WAN (PPP/SLIP) Interface
===========================================================================
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0     192.168.30.1  192.168.30.113       21
          0.0.0.0          0.0.0.0     192.168.33.2    192.168.33.2       1 <<================ 所有的流量全走这条路由了
     180.97.33.67  255.255.255.255     192.168.30.1  192.168.30.113       20
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
   192.168.30.113  255.255.255.255        127.0.0.1       127.0.0.1       20
   192.168.30.255  255.255.255.255   192.168.30.113  192.168.30.113       20
     192.168.33.2  255.255.255.255        127.0.0.1       127.0.0.1       50
   192.168.33.255  255.255.255.255     192.168.33.2    192.168.33.2       50
一般连上vpn之后我们的,因此我们的所有流量都会默认走vpn链路,因此数据库不能链接,svn没法更新。:-),那么我们来看看解决方案:


由于办公地址为这两个网段:192.168.0.0/24 或者 192.168.77.0/24 需要连接的地址:如:数据库:192.168.0.87  svn地址:192.168.77.187

因此我们可以加上如下两条路由:


route add 192.168.0.0 mask 255.255.255.0 192.168.30.1 metric 1 if 2
route add 192.168.77.0 mask 255.255.255.0 192.168.30.1 metric 1 if 2
这样我们就保证工作时,既能连上vpn畅游internet ,又可以安全无障碍的办公 



二,linux解决方案:(具体场景还是如一中所说)

语法:


  route [-CFvnee]

       route  [-v]  [-A  family]  add  [-net|-host]  target  [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate]
              [[dev] If]

       route  [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]

       route  [-V] [--version] [-h] [--help]

DESCRIPTION
       Route manipulates the kernel's IP routing tables.  Its primary use is to set up static routes to specific hosts or networks via an interface after
       it has been configured with the ifconfig(8) program.

       When  the add or del options are used, route modifies the routing tables.  Without these options, route displays the current contents of the rout‐
       ing tables.
linux连上后的路由:


如:


root@c2y2:/home/exp# route -F
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         *               0.0.0.0         U     0      0        0 ppp0 <<===============所有的流量全走这条路由了
180.97.33.67   192.168.30.1    255.255.255.255 UGH   0      0        0 eth1
180.97.33.67   192.168.30.1    255.255.255.255 UGH   0      0        0 eth1
192.168.33.1    *               255.255.255.255 UH    0      0        0 ppp0
同样我们加上和一一样的路由即可进行正常办公:


方法如下:


route add -net 192.168.0.0/24 gw 192.168.30.1 dev eth1
route add -net 192.168.77.0/24 gw 192.168.30.1 dev eth1
这样即可实现



后记:这里面涉及到一些路由知识,但此不作具体释疑,具体了解:戳这里 或者 戳这里