㈠ linux_165_NFS和RPC工作原理
NFS通過port傳輸數據,NFS服務在傳輸數據的時候,埠是隨機選擇的(自己重啟NFS服務,查看埠是否在變化)
NFS是通過RPC服務,進行一個埠注冊,實現告知用戶,NFS的工作埠是哪一個
RPC
RPC:遠程過程調用
Linux上使用NFS服務,必須啟動2個服務:NFS服務 和 RPC 服務
NFS服務通過RPC注冊自己的埠功能
RPC服務功能就是記錄每個NFS功能對應的一個埠號,並且RPC保證了NFS客戶端發出請求的時候,把該功能對應的埠信息告知NFS客戶端,保證客戶端能夠正確連接到NFS服務端的埠,達到數據傳輸的目的
RPC好比是一個中介,處於客戶端和服務端之間
RPC服務如何知道NFS服務端的埠信息?
NFS伺服器啟動的時候,會隨機採用若干個埠,並且主動在RPC服務中進行注冊,如此一來,RPC服務就正確知道所有NFS服務端的埠功能了,RPC服務默認使用Linux的111埠和NFS客戶端進行交流,並且通過111埠將正確的NFS服務端的埠信息,告知給NFS客戶端。因此,NFS客戶端就能夠正確找到NFS服務端的埠信息
㈡ linux下查看iptables開放了哪些埠的命令是什麼
打開指定埠:/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #80為指定埠
將更改進行保存:/etc/rc.d/init.d/iptables save
直接在/etc/sysconfig/iptables中增加一行:-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
關閉埠:iptables -A INPUT -p tcp --dport 111 -j DROP
開發不連續埠(包括單個):iptables -A INPUT -p tcp -m multiport --dport 21,20 -j ACCEPT
㈢ linux常用埠號(1)
1.FTP:文件傳輸協議
協議名:FTP
軟體名:vsftpd
FTP埠:控制埠 21/TCP 數據埠:20/TCP
FTP默認埠號為21/tcp
TFTP 默認埠號為69/UDP
2.SSH (安全登錄),SCP(文件傳輸),埠號重定向,默認的埠號為22/TCP
SSH是少數被許可穿越防火牆的協議之一。通常的做法是不限制出站的SSH連接,而入站的SSH連接通常會限制到一台或者少數幾台伺服器上。
3.Telnet使用23埠:Telnet是一種遠程登錄的埠,用戶可以以自己的身份遠程連接到計算機上,通過這種埠可以提供一種基於DOS模式下的通信服務。
4.NFS(網路文件系統):讓網路上的不同Linux/UNIX系統及其實現文件共享
NFS本身只是一種文件系統,沒有提供文件傳輸的功能,但卻能讓我們文件共享,原因在於NFS使用RPC服務,用到NFS的地方需要啟動RPC服務,無論是NFS客戶端還是服務端。
NFS和RPC的關系:NFS是一個文件系統,負責管理分享的目錄,RPC負責文件的傳遞。
NFS啟動時至少有RPC.NFSD和RPC.mountd,2個daemon
rpc.nfsd主要管理客戶機登錄NFS伺服器時,判斷客戶機是否能登錄,和客戶機ID信息。
rpc.mountd主要管理nfs的文件系統,當客戶機順利登錄NFS伺服器時,會去讀/etc/exports文件中的配置,然後去對比客戶機的許可權。
協議使用埠:
RPC: 111 TCP/UDP
NFSD: 2049 TCP/UDP
mountd: RPC服務在NFS服務啟動時默認會為mountd動態選取一個隨機埠(32768--65535)來進行通訊,可以在/etc/nfsmount.conf文件中指定mount的埠。
5.NTP (網路時間協議)
他的目的是國際互聯網上傳遞統一,標準的時間。
NTP同時同步指的是通過網路的NTP協議和時間源進行時間校準,前提條件,事件源輸出必須通過網路介面,數據輸出格式必須符合NTP協議。
區域網內所有的PC,伺服器和其他設備通過網路與時間伺服器保持同步,NTP協議自動判斷網路延時,並給得到的數據進行時間補償,從而使區域網內設備時間保持統一標准。
埠: 123/UDP
6.DNS 域名系統
該系統用於命名組織到域層次結構中的計算機和網路服務。
在Internel上域名和IP地址是一一對應的,域名雖然便於人們記憶,但機器之間只能互相認識IP地址,他們之間的轉換工作稱為域名解析,域名解析需要專門的域名解析伺服器來完成。
DNS運行在UDP協議之上,使用埠號53.
在傳輸層TCP提供端到端可靠的服務,在UDP端提供盡力而為的服務,其控制埠作用於UDP埠53.
UDP53: 解析客戶端的域名用UDP(速度快)
TCP53 主從用(安全性較高)
7.PHP-FPM是一個PHPFastCGI
默認埠:9000/TCP
8.SMTP: 是一種提供可靠且有效電子郵件傳輸協議。SMTP是建模在FTP文件傳輸服務上的一種郵件服務,主要用於傳輸系統之間的郵件信息並提供來信相關的通知
SMTP: 埠號:25 /TCP 發郵件
POP3: 埠號:TCP/25 收郵件
IMAP4 埠號: TCP/143 用來提供發郵件支持附件用的。
9.Samba:
137(UDP) , 138(UDP)
139(TCP) , 445(TCP) 提供文件共享功能
137udp,138udp提供ip地址到主機名解析的功能
901(TCP)
10.Mycat
代替昂貴的Oracle的MySQL集群中間件
默認埠8066連接Mycat
9066管理埠
㈣ Linux埠轉發(iptables)
當伺服器遷移,因為DNS未同步或某些人使用ip訪問,一些流量還是會流向老的伺服器。
使用iptables及其偽裝特性,將所有流量轉發到老的伺服器。 點擊看iptables的介紹 。
本文假設沒有運行的iptables,至少沒有針對prerouting鏈和postrouting鏈的NAT表的轉發規則。
1) 首先開啟埠轉發
# echo "1" > /proc/sys/net/ipv4/ip_forward
或sysctl net.ipv4.ip_forward=1
2) 增加埠轉發
將埠1111上的流量轉發到主機2.2.2.2 上的埠1111。
# iptables -t nat -A PREROUTING -p tcp --dport 1111 -j DNAT --to-destination 2.2.2.2:1111
然後告訴IPtables偽裝起來(masquerade)
# iptables -t nat -A POSTROUTING -j MASQUERADE
僅僅重定向一個固定網路甚至是一台主機的流量
# iptables -t nat -A PREROUTING -s 192.168.1.1 -p tcp --dport 1111 -j DNAT --to-destination 2.2.2.2:1111
僅僅重定向一個網段的流量
# iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 1111 -j DNAT --to-destination 2.2.2.2:1111
這就可以進行Linux埠轉發流量了。
查看轉發規則 sudo iptables -t nat -nL
1) docker bridge模式
2) 安全方面,同主機上埠指定網卡ip上的流量轉發
3) 埠轉發到另外的伺服器,見上邊案例
4) snat場景
5) dnat場景,內網訪問外網
https://www.debuntu.org/how-to-redirecting-network-traffic-to-a-new-ip-using-iptables/