靜態(tài)路由
1.準備三臺虛擬機
第一臺機器:主機名是network01 有一個IP地址,是10.0.0.11
第二臺機器:主機名是network02 有兩個IP地址怖侦。一個是10.0.0.12 一個是172.16.1.12 (lan區(qū)段)
第三臺機器:主機名是network03 有一個IP地址。是172.16.1.13
關于網卡配置文件的標準:
是不能有網管(就是靜態(tài)路由的一種)和dns
TYPE="Ethernet"
BOOTPROTO="static"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPADDR="192.168.11.88"
NETMASK="255.255.255.0"
然后對三臺虛擬機:
第一臺:hostnamectl set-hostname network01
bash
vim /etc/sysconfig/network-scripts/ifcfg-eth0
還是去除后三行博投,不要網關和dns片排,然后改IP:10.0.0.11
systemctl restart network
第二臺:hostnamectl set-hostname network02
bash
vim /etc/sysconfig/network-scripts/ifcfg-eth0
還是去除后三行,不要網關和dns辛友,然后改IP:10.0.0.12
cp ifcfg-eth0 ifcfg-eth1 (添加網卡)
vim /etc/sysconfig/network-scripts/ifcfg-eth1
還是去除后三行薄扁,不要網關和dns剪返,然后改IP:172.16.1.12
systemctl restart network
第三臺:hostnamectl set-hostname network03
bash
vim /etc/sysconfig/network-scripts/ifcfg-eth0
還是去除后三行,不要網關和dns邓梅,然后改IP:172.16.1.13
systemctl restart network
最后在第二臺上檢測
ping 10.0.0.11 -c3
ping 172.16.1.13 -c3
ip a / ip addr 查看網絡
不同網段之間脱盲,是需要路由器來聯(lián)通。如果沒有路由器日缨,就會出現(xiàn)钱反,網卡不可用的報錯。
有的軟路由就是linux,freebsd unix 匣距。所以我們可以通過net2來充當路由器的功能面哥,打通1和3之間的信息傳輸
roule -n (查看靜態(tài)路由)
ip route (查看靜態(tài)路由)
并且可以知道,每一個IP地址毅待,都會配一個169.254.0.0
這個169.254.0.0 作用是相當于路由器尚卫,如果dhcp獲取不到地址時,就會自動分配一個地址
直鏈路由:就是直接通過arp廣播就能聯(lián)通的尸红。
靜態(tài)路由:就是告訴計算機吱涉,你發(fā)出的包,去往其他地方外里,應該怎么走怎爵。給你一個規(guī)則。
添加路由的命令
route add -net (指定網段)
gw (代表經過誰)(是需要經過自己在局域網內级乐,能夠得著的離另一個網段最近的端口)
經路由疙咸,能network01 到network03
只是做到了拼通,1拼通了2风科。
但我還想拼通3撒轮,進行數(shù)據傳輸。
但是現(xiàn)在在network1拼3贼穆,只會停住题山,是因為數(shù)據包發(fā)出了。不知道有沒有收到故痊。
網絡的規(guī)則:
1.數(shù)據包顶瞳,有來有回網絡就能通了
系統(tǒng)直接丟掉數(shù)據包:
1.數(shù)據包不是找自己的數(shù)據包
2.不知道怎么回復的數(shù)據包
所以:先查看,數(shù)據包是不是被network02給丟棄了愕秫。
用sysctl 調整內核的參數(shù) 用來優(yōu)化系統(tǒng)慨菱。
-a 查看全部內核參數(shù)
sysctl net.ipv4.ip_forward=1 (在等于0 的時候,代表不是找自己的包丟掉)
打開了network02 內核轉發(fā)參數(shù)戴甩,數(shù)據包才開始到達network03
然后數(shù)據可以到達03 了符喝。但是在01上拼,還是會停住甜孤,就需要知道协饲,計算機在不知道怎么回復的時候畏腕,數(shù)據包會被丟掉,所以在03在拼01.發(fā)現(xiàn)網絡不通茉稠。
是因為03沒有回去的路由描馅,不知道怎么回去。
route add -net 10.0.0.0/24 gw 172.16.1.12 (找10網段而线,通過172.16.1.12這個端口)
然后就可以通了
總結:假設是四臺铭污。
發(fā)送包的第一臺機器,一定要添加一個路由信息吞获,然后指明自己要去哪况凉,然后到的第一個端口是誰。
然后在第二臺機器上各拷,首先你需要打開自己的接收信息包,就算不是自己的闷营,也不能直接丟掉烤黍。然后也需要寫一個路由,也寫出想去到哪個網段傻盟,經過的端口是誰速蕊。
然后到了第三臺機器,首先也是先打開自己的接收信號包娘赴。然后你是有兩個網段规哲,可以直接和第四臺用一個網絡,所以你不用在寫要去哪诽表。
到了最后這臺唉锌,你收到第一臺的請求,你需要回復竿奏,要不然他收不到你的信息袄简,只會焊住。所以泛啸。你需要寫自己要往哪里回绿语,然后經過的第一個端口。而這個時候候址,回到了第三臺機器吕粹。其實這個時候相當于變成了,第四臺機器對第一臺的請求了岗仑。那么第三臺也需要寫自己是回哪匹耕,經過的端口是誰,到了第二個,第二個也是兩個網段窑滞,和第一個電腦是用一個,然后就通了睦番。
但是有一點欢际,這些都是臨時的母市,一旦重啟,全部都沒了损趋。
所以患久,我們需要添加一個route-etho文件
然后ip route 找到對應的靜態(tài)路由,直接重定向到文件中浑槽,重啟網絡蒋失,還是可以查到。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
iptable 軟件防火墻
iptable 和firewalld 的區(qū)別
都是通過調用內核netfilter模塊桐玻,只是firewalld 是傻瓜版的篙挽。
iptable:四表五鏈
四表: filter表 過濾數(shù)據包
nat表 實現(xiàn)nat上網,地址轉換
mangle 修改數(shù)據包
raw 追蹤數(shù)據包
五鏈:prerouting 進入的匹配數(shù)據包的規(guī)則 地址轉換
input 進入的數(shù)據包過濾
output 出去的數(shù)據包過濾
postrouting 出去的地址轉換
forward 默認是允許的镊靴。是用來做轉發(fā)數(shù)據包的(如果不允許铣卡,數(shù)據包永遠過不去)
iptables -L 查看iptable規(guī)則
iptables -P FORWARD DROP 修改forward鏈的默認規(guī)則
iptabile -I 插入一條規(guī)則,每一次插入就在最上邊
iptable -A 在原有的基礎上追加一條規(guī)則
iptable -D 刪除規(guī)則
[root@oldboy ~]# iptables -I FORWARD --source 10.0.0.11 --destination 172.16.1.13 -j ACCEPT
防火墻防護模式:
黑名單:逛公園偏竟。 穿戴不整齊的都不讓進
iptables -I INPUT --source 10.0.0.1 -j DROP
(添加一個規(guī)則煮落,把原地址10.0.0.1的所有數(shù)據包給拒絕)
白名單:電影院模式。只有票的才能進入
網站服務器:
默認的模式是黑名單(只有在黑名單上的人才不能訪問)
所有人都可以訪問80端口
只允許指定的IP可以訪問22端口
iptables -I INPUT --source 10.0.0.1 --protocol tcp --dport 22 -j ACCEPT
在這個鏈插入 原IP 指定協(xié)議 目的端口 動作接收
iptables -I INPUT --protocol tcp --dport 22 -j DROP
在插入 協(xié)議 目的端口 動作拒絕 所有人都拒絕
iptable生效的規(guī)則就是從上往下踊谋。
所以如果最后第二步寫拒絕蝉仇,那么相當于在生效的時候,先生效了全部拒絕殖蚕,那么第一個接收就不起作用了轿衔。所以可以用-A,添加到規(guī)則后邊
白名單模式:默認規(guī)則是拒絕
所有人都可以訪問80端口
只允許指定的IP可以訪問22端口
iptables -F
iptables -I INPUT --source 10.0.0.1 --protocol tcp --dport 22 -j ACCEPT
iptable s -I INPUT --protocol tcp --dport 80 -j ACCEPT
iptables -P INPUT DROP 修改鏈的動作
OUTPUT鏈 (出去的數(shù)據包可以直接拒絕然后讓它出不去)
iptables -F
iptables -I OUTPUT --destination 14.215.177.38 -j DROP
指定鏈 目的IP 動作拒絕