Linux 做閘道器

2022-05-26 22:33:09 字數 2819 閱讀 3303

首先建立兩張路由表,只需要新增到相應的檔案中即可,linux一共支援255個路由表,rt_tables檔案中預設已經存在了三張路由表,分別是:

255  local

254  main

253default

[root@localhost /]# echo "10 cnc" >>/etc/iproute2/rt_tables

[root@localhost /]# echo"20 cernet">>/etc/iproute2/rt_tables

注意:路由表前面的數字只是編號並不代表優先順序,路由表沒有優先順序,只有策略規則才有優先順序。

以下配置內容每次重啟系統後都會消失,所以要把指令碼設定為隨系統一塊啟動。

######################配置指令碼###############################

#!/bin/bash

#載入iptables的nat和filter模組,iptables服務最好設定成在開機時自動執行

modprobe iptable_nat

modprobe iptable_filter

#開啟linux核心包**功能

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

#配置介面的ip位址,並啟用介面

#eth0連線聯通線路,eth1連線教育網線路,eth2下連三層交換機

#這裡使用iproute2的新命令來配置ip,不在使用舊的命令如:ifconfig

ip address add 115.158.113.164/25 dev eth0

ip link set dev eth0 up

ip address add 10.212.46.100/24 dev eth1

ip link set dev eth1 up

ip address add 10.10.10.1/30 dev eth2

ip link set dev eth2 up

#向路由表中新增路由

#向cnc路由表中新增一條預設路由

ip route adddefaultvia 115.158.113.129 table cnc

#向cernet路由表中新增一條預設路由

ip route adddefaultvia 10.212.46.1 table cernet

#向主路由表中新增指向內部網段的路由,不然資料報反回時找不到路由資訊

ip route add 192.168.100.0/24 via 10.10.10.2 table main

ip route add 192.168.200.0/24 via 10.10.10.2 table main

#設定路由規則rule,注意規則是按優先順序來執行的。

#所有目的地訪問115.158.119.0/25網段的使用者都走cernet線路出去。

ip rule add from 0.0.0.0/0 to 115.158.119.0/25 table cernet pref 99

#網段192.168.100.0/24的使用者都走聯通線路出去,優先順序設定為100

ip rule add from 192.168.100.0/24 table cnc pref 100

#網段192.168.200.0/24的使用者都走教育網線路出去,優先順序設定為101

ip rule add from 192.168.200.0/24 table cernet pref 101

#重新整理路由表,使新配置的路由生效

ip route flush cache

#按求對資料報進行nat轉換

#把192.168.100.0/24網段的使用者的源ip轉換成聯通線路介面的ip

iptables -t nat -a postrouting -s 192.168.100.0/24 -j snat --to 115.158.113.164

iptables -t nat -a postrouting -s 192.168.200.0/24 -j snat --to 10.212.46.100

######################結束##################################

配置Linux做閘道器

一 網路拓撲 二 配置網路 1 a,gw1,gw2,b 的網路配置 a eth0 ipaddr 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1 gw1 eth0 ipaddr 172.16.113.173 netmask 255.255.2...

linux使用iptable做閘道器

linux 需要兩個網絡卡 乙個外網網絡卡乙個內網網絡卡 乙個外網絡卡 cat etc sysconfig network scripts ifcfg eth0 device eth0 type ethernet onboot yes nm controlled yes bootproto none...

使用Ocelot做閘道器

1首先建立乙個json的配置檔案,檔名隨便取,我取ocelot.json 這個配置檔案有兩種配置方式,第一種,手動填寫 服務所在的ip和埠 第二種,用consul進行服務發現 第一種如下 手動指明ip和埠號 downstreamhostandports 請求格式 例如,我的ocelot ip是127...