linux系統路由器的配置

2021-09-30 16:13:31 字數 4929 閱讀 3508

假設現有三颱計算機

a計算機有三塊網絡卡 eth0: 192.168.1.125 連線到internet。 eth1:192.168.2.1 。 eth2:192.168.3.1。

b計算機 ip:192.168.2.120 預設閘道器:192.168.2.1

c計算機 ip:192.168.3.114 預設閘道器:192.168.3.1

現在b、c計算機要以a計算機ip為閘道器上網,並實現b、c網段之間的訪問,a計算機相當於實現路由器功能。

a計算機配置:

$/sbin/ifconfig eth0 192168.1.125 netmask 255.255.255.0

$/sbin/ifconfig eth1 192168.2.1 netmask 255.255.255.0

$/sbin/ifconfig eth2 192168.3.1 netmask 255.255.255.0

不過開機重啟後這些配置資訊會丟失,所以新增到檔案儲存,如eth0的配置資訊新增到/etc/sysconfig/network-scripts/ifcfg-eth0

# networking inte***ce

device=eth0

hwaddr=00:0c:29:d3:7d:7c

onboot=yes

ipaddr=192.168.1.125

bootproto=none

netmask=255.255.255.0

dns2=202.96.128.68

type=ethernet

gateway=192.168.1.1

dns1=202.96.134.133

nm_controlled=yes

ipv6init=no

userctl=yes

prefix=24

name="my eth0"

uuid=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03

eth1和eth2類似新增

新增完這些後新增路由表

#/sbin/route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0

#/sbin/route add -net 192.168.2.0 netmask 255.255.255.0 dev eth1

#/sbin/route add -net 192.168.3.0 netmask 255.255.255.0 dev eth2

使用命令檢視路由表

#route

kernel ip routing table

destination     gateway         genmask    flags metric ref    use iface

192.168.3.0     *               255.255.255.0   u     0      0            0 eth1

192.168.2.0     *               255.255.255.0   u     1      0            0 eth2

192.168.1.0     *               255.255.255.0   u     1      0            0 eth0

這時候還需要新增預設閘道器,也就是計算機a連線到網路的路由器:192.168.1.1

#route add default gw 192.168.1.1

#route

kernel ip routing table

destination     gateway         genmask         flags metric ref    use iface

192.168.3.0     *               255.255.255.0           u     0      0        0 eth1

192.168.2.0     *               255.255.255.0           u     1      0        0 eth2

192.168.1.0     *               255.255.255.0           u     1      0        0 eth0

default         192.168.1.1     0.0.0.0                 ug    0      0        0 eth0

開啟**ip**功能

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

sysctl -w net.ipv4.ip_forward = 1

可以在命令中使用,也可以為了自動化加入rc.local中

計算機bc配置

b:ip address:192.168.2.120 mask:255.255.255.0 default gateway:192.168.2.1

c:ip address:192.168.3.120 mask:255.255.255.0 default gateway:192.168.3.1

dns自己根據當地網路設定

b計算機:

ping 192.168.2.1

ping 192.168.3.1

ping 192.168.1.125

這三個應該沒什麼問題,繼續

ping 192.168.3.114

ping 192.168.1.1

發現還是不通

檢視a計算機的iptables

iptables -l

chain input (policy accept)

...chain forward (policy accept)

target     prot opt source               destination

reject     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

ok, we find it! 看來iptable中**被阻止了,刪除這個組織規則就可以了

iptables -d forward 1

ok!現在bc應該可以聯網了

當然筆者在此還遇到了其他的問題,最後需求幫助得知輸入如下資訊

iptables -t nat -a postrouting -o eth0 -s 192.168.2.0/24 -j masquerade

iptables -t nat -a postrouting -o eth0 -s 192.168.3.0/24 -j masquerade

or

iptables -t nat -a postrouting -o eth0 -s 192.168.2.0/24 -j snat --to 192.168.1.125

iptables -t nat -a postrouting -o eth0 -s 192.168.3.0/24 -jsnat --to 192.168.1.125

自己分析下

nat,這個表被查詢時表示遇到了產生新的連線的包

postrouting鍊錶存放修改準備出去的包

-o eth0 表示修改後的資料報由介面eth0送出

snat: 這個目標只適用於nat表的postrouting鏈。它規定修改包的源位址

到此目標linux路由器配置完成了!

歡迎各位留意討論

下面對為什麼要進行偽裝做分析:

利用之前網上看到的乙個例子:

兩個客戶機想通訊,要求閘道器都之指新做的這台路由上,可是在一些情況下做不到。這時可以用位址偽裝實現。

比如我做了一台新linux路由器,這時他可以與其它科室的一台機可以通訊(因為我的新linux路由器一塊網絡卡與其在乙個網段嘛),我的另一台客戶機通過我做的新linux路由在另乙個網段。這時如果我能把其它科室的機器與我的機器閘道器都設成我的新linux路由器就可以通訊了,可是沒有這種許可權啊!!!

我可以在新linux路由器上通過位址偽裝得以實現。

如果實現我可以訪問他,他不能訪問我可以這麼做:

iptables -t nat -a postrouting -o eth0 -s 你的ip位址段/子網掩碼表示 -j masquerade

如果實現他可以訪問我,可以加上:

iptables -t nat -a postrouting -o eth1 -s 他的ip位址段/子網掩碼表示 -j

masquerade

原理及分析:

如果我沒有做位址偽裝時,我的資料報通過了新的linux路由器,**到了他的機器,可是因為我的ip位址不與他在同一網段,他利於閘道器發到了其它的地方。所以只有你對的資料報沒有回來的,通過在新的linux路由器抓包可以看的很清楚。

在做了位址偽裝後,資料報源位址是新的linux路由器上的位址,因為發過去後是與他在同一網段內,所以不用閘道器**,直接發到新的linux路由器,然後就可以返回來。通過在新的linux路由器上抓包也可以看的很清楚。

路由器配置

以r2為例項 ip route 172.16.2.0 255.255.255.0 172.16.3.1 ip route 192.168.1.0 255.255.255.0 192.158.10.6 rip路由 network 介面網段 route rip version 2 no auto sum...

路由器的配置

路由器的基本配置 1.給路由器命名 2.關閉網域名稱解釋 3 設定輸入同步 4.設定路由器介面ip位址 具體如下 router en router conf t router config ho r1 命名 r1 config no ip domain loo 關閉網域名稱查詢 r1 config ...

路由器的配置

路由器1 en 使用者進入特權模式 config t 特權進全域性 int f0 1 進入 f0 1 介面ip add 192.168.1.1 255 255 255.0 配置 ip位址跟子網掩碼 no shut 開啟介面 int f0 0 進入 f0 0 介面ip add 192.168.2.1 ...