新聞中心
如何在Linux 7上關(guān)閉端口映射

在Linux 7中,端口映射是一種網(wǎng)絡(luò)通信技術(shù),他可以將一個(gè)端口號(hào)映射到另外一個(gè)端口上,從而使得外部網(wǎng)絡(luò)系統(tǒng)可以訪問(wèn)系統(tǒng)內(nèi)部的服務(wù)。然而,在某些特定情況下,需要關(guān)閉端口映射功能。
本文介紹如何在Linux 7上關(guān)閉端口映射的方法。
1. 登錄系統(tǒng)
首先需要通過(guò)ssh登錄Linux 7系統(tǒng),使用root賬戶或具有管理員權(quán)限的賬戶進(jìn)行操作。
2. 找到需要關(guān)閉的端口映射
使用命令 netstat -tulpn 查看當(dāng)前系統(tǒng)中的所有端口和進(jìn)程號(hào),其中tcp協(xié)議和udp協(xié)議的端口號(hào)分別位于“Local Address”的冒號(hào)和“PID/Program name”的PID后面。找到需要關(guān)閉的端口和其所屬的進(jìn)程號(hào)。
3. 殺死相應(yīng)進(jìn)程
使用命令 kill -9 pid 殺死相應(yīng)的進(jìn)程pid。如果無(wú)法殺死進(jìn)程,則可以嘗試使用命令killall -9 program name。其中program name是所要關(guān)閉的程序的名稱。
4. 修改iptables規(guī)則
iptables時(shí)Linux下的一個(gè)防火墻工具,它可以對(duì)網(wǎng)絡(luò)流量進(jìn)行管理。關(guān)閉相應(yīng)端口映射需要修改iptables規(guī)則,從而使得相應(yīng)的端口不再被映射到另外的端口上。
使用命令 iptables -L -n -v 查看當(dāng)前的iptables規(guī)則。其中,-L選項(xiàng)表示列出所有規(guī)則,-n選項(xiàng)表示以數(shù)字IP地址和端口號(hào)表示,-v選項(xiàng)表示顯示流量計(jì)數(shù)。
找到需要關(guān)閉的規(guī)則,使用命令 iptables -D INPUT n 刪除相應(yīng)規(guī)則。其中n是規(guī)則的順序號(hào)。
5. 保存iptables規(guī)則
iptables規(guī)則是需要保存的,以便在系統(tǒng)重啟后能夠保留已經(jīng)設(shè)置好的規(guī)則。使用命令 iptables-save > /etc/sysconfig/iptables 將規(guī)則保存到恒定的文件中,以便下一次重啟的時(shí)候也能夠應(yīng)用當(dāng)前的規(guī)則設(shè)置。
6. 重啟系統(tǒng)
如果需要完全關(guān)閉端口映射功能,需要在系統(tǒng)重啟之后才能真正生效。使用命令 reboot 重啟系統(tǒng)。
關(guān)閉Linux 7上的端口映射需要通過(guò)殺死相應(yīng)進(jìn)程和修改iptables規(guī)則來(lái)實(shí)現(xiàn)。在修改iptables規(guī)則之后,需要保存并重啟系統(tǒng),才能讓設(shè)置生效。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來(lái)專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220在linux上做端口映射
1、最簡(jiǎn)單的就是設(shè)備前面加個(gè)路由器,做端口映射
2、加一臺(tái)服務(wù)器,做http代理,實(shí)現(xiàn)端口轉(zhuǎn)發(fā)
3、這臺(tái)主機(jī)直接用iptables做轉(zhuǎn)發(fā)
#假設(shè)你的內(nèi)網(wǎng)ip為 192.168.1.22 外網(wǎng) 202.102.99.99
修改/etc/sysconfig/iptables添加
-A PREROUTING -d 202.102.99.99 -p tcp –dportj DNAT –to-destination 192.168.1.22:8085
-A POSTROUTING -d 192.168.1.22 -p tcp –dportj SNAT –to 202.102.99.99
安裝NFS服務(wù)器后需要關(guān)閉相應(yīng)端口,怎么進(jìn)行操作?
1,服務(wù)器端軟件:安裝nfs-utils和portmap(rpcbind)
nfs-utils: 提供rpc.nfsd 及 rpc.mountd這兩個(gè)NFS DAEMONS的套件
portmap: NFS其實(shí)可以被看作是一個(gè)RPC SERVER PROGRAM,而要啟動(dòng)一個(gè)RPC SERVER PROGRAM,都要做好PORT的對(duì)應(yīng)工作,而且這樣的任務(wù)就是由PORTMAP來(lái)完成的。通俗的說(shuō)PortMap就是用來(lái)做PORT的mapping的。
NFS需要啟動(dòng)的DAEMONS:參考NFS daemons
pc.nfsd:主要復(fù)雜登陸權(quán)限檢測(cè)等 必須
portmap:處理RPC程序客戶端和服務(wù)器端的端口對(duì)應(yīng) 必須
rpc.mountd:負(fù)責(zé)NFS的檔案系統(tǒng),當(dāng)CLIENT端通過(guò)rpc.nfsd登陸SERVER后,對(duì)clinet存取server的文件進(jìn)行一系列的管理 必須
lockd:處理通過(guò)RPC包的鎖定請(qǐng)求
statd:為nfs鎖定服務(wù)提供crash恢復(fù)功能
rquotad:處理當(dāng)用戶通過(guò)nfount到遠(yuǎn)程服務(wù)器時(shí)的配額
守護(hù)進(jìn)程啟動(dòng)順序:rpc.portmap, rpc.mountd, rpc.nfsd, rpc.statd, rpc.lockd (新版本會(huì)自動(dòng)跟著nfsd啟動(dòng)起來(lái)), rpc.rquotad
NF服務(wù)器端命令:
?yum install nfs-utils portmap
?chkconfig rpcbind on #chkconfig:更新和查詢各運(yùn)行級(jí)別的系統(tǒng)服務(wù)
?chkconfig nfs on
?service rpcbind start
?service nfs start
2,服務(wù)器端配置文件/etc/exports:指定要共享的目錄及權(quán)限 man exports
復(fù)制代碼代碼如下:
#:允許ip地址范圍在192.168.0.*的計(jì)算機(jī)以讀寫的權(quán)限來(lái)訪問(wèn)/home/work 目錄。
/home/work 192.168.0.*(rw,sync,root_squash)
/home 192.168.1.105 (rw,sync)
/public * (rw,sync)
配置文件每行分為兩段:之一段為共享的目錄,使用絕對(duì)路徑,第二段為客戶端地址及權(quán)限。
地址可以使用完整IP或網(wǎng)段,例如10.0.0.8或10.0.0.0/24,10.0.0.0/255.255.255.0當(dāng)然也可以地址可以使用主機(jī)名,DNS解析的和本地/etc/hosts解析的都行,支持通配符,例如:*.chengyongxu.com
權(quán)限有:
rw:read-write,可讀寫; 注意,僅僅這里設(shè)置成讀寫客戶端還是不能正常寫入,還要正確地設(shè)置共享目錄的權(quán)限,參考問(wèn)題7
ro:read-only,只讀;
sync:文件同時(shí)寫入硬盤和內(nèi)存;
async:文件暫存于內(nèi)存,而不是直接寫入內(nèi)存;
no_root_squash:NFS客戶端連接服務(wù)端時(shí)如果使用的是root的話,那么對(duì)服務(wù)端分享的目錄來(lái)說(shuō),也擁有root權(quán)限。顯然開啟這項(xiàng)是不安全的。
root_squash:NFS客戶端連接服務(wù)端時(shí)如果使用的是root的話,那么對(duì)服務(wù)端分享的目錄來(lái)說(shuō),擁有匿名用戶權(quán)限,通常他將使用nobody或nfsnobody身份;
all_squash:不論NFS客戶端連接服務(wù)端時(shí)使用什么用戶,對(duì)服務(wù)端分享的目錄來(lái)說(shuō)都是擁有匿名用戶權(quán)限;
anonuid:匿名用戶的UID值,通常是nobody或nfsnobody,可以在此處自行設(shè)定;
anongid:匿名用戶的GID值。
NFS客戶端用戶映射:客戶端登陸用戶為root或者其他用戶,然后根據(jù)服務(wù)器端nfs server配置,相應(yīng)e799bee5baa6e79fa5e03130客戶端連接映射到nfs服務(wù)器端的用戶為root或者指定用戶(通過(guò)anonuid或者anongid來(lái)設(shè)定)、nfsnobody等。最后這個(gè)映射用戶和共享目錄的權(quán)限共同影響該客戶端連接是否有讀寫權(quán)限。
手動(dòng)設(shè)定客戶端、服務(wù)器端用戶映射,參數(shù):map_static=/etc/nfs.map
/etc/nfs.map文件映射內(nèi)容如下:
# remote local
gid
uid
參考:NFS 學(xué)習(xí)筆記中關(guān)于nfs客戶連接用戶身份的描述,沒(méi)有驗(yàn)證過(guò)下述的描述:
?客戶端連接時(shí)候,對(duì)普通用戶的檢查,NO.1如果明確設(shè)定了普通用戶被壓縮的身份,那么此時(shí)客戶端用戶的身份轉(zhuǎn)換為指定用戶,NO.2如果NFS server上面有同名用戶,那么此時(shí)客戶端登錄賬戶的身份轉(zhuǎn)換為NFS server上面的同名用戶,NO.3如果沒(méi)有明確指定,也沒(méi)有同名用戶,那么此時(shí) 用戶身份被壓縮成nfsnobody
?客戶端連接的時(shí)候,對(duì)root的檢查,NO.1如果設(shè)置no_root_squash,那么此時(shí)root用戶的身份被壓縮為NFS server上面的root,NO.2如果設(shè)置了all_squash、anonuid、anongid,此時(shí)root 身份被壓縮為指定用戶,NO.3如果沒(méi)有明確指定,此時(shí)root用戶被壓縮為nfsnobody,NO.4如果同時(shí)指定no_root_squash與all_squash 用戶將被壓縮為 nfsnobody,如果設(shè)置了anonuid、anongid將被壓縮到所指定的用戶與組
3,防火墻設(shè)置修改
默認(rèn)情況下,CentOS6服務(wù)器版安裝完成后,防火墻iptables配置中只放開了22端口。
在nfs配置文件/etc/sysconfig/nfs中指定nfs服務(wù)相關(guān)端口,并修改防火墻放開相應(yīng)端口
復(fù)制代碼代碼如下:
#Port rpc.mountd should listen on.
#MOUNTD_PORT=892
#Port rpc.statd should listen on.
#STATD_PORT=662
#/usr/in/rpc.rquotad Port rquotad should listen on.
#RQUOTAD_PORT=875
#TCP port rpc.lockd should listen on.
#LOCKD_TCPPORT=32803
#UDP port rpc.lockd should listen on.
#LOCKD_UDPPORT=32769
修改iptables配置文件/etc/sysconfig/iptables,放開111(portmap服務(wù)端口),2023(nfs服務(wù)端口)
4,/etc/hosts.allow配置修改
/etc/hosts.allow,/etc/hosts.deny 描述哪些主機(jī)允許使用本地的INET服務(wù)。
默認(rèn)這里好像可以不需要修改,不過(guò)更好設(shè)置成只允許需要的客戶端機(jī)器連接,然后其他機(jī)器的連接都deny
#服務(wù)進(jìn)程名:主機(jī)列表:當(dāng)規(guī)則匹配時(shí)可選的命令操作
server_name:hosts-list
在/etc/hosts.allow中添加允許客戶端訪問(wèn)的規(guī)則
ALL:127.0.0.1 #允許本機(jī)訪問(wèn)本機(jī)所有服務(wù)進(jìn)程
ALL:192.168.0.135 #允許192.168.0.135客戶端機(jī)器訪問(wèn)本機(jī)所有服務(wù)進(jìn)程
bd:192.168.0.0/255.255.255.0 #允許網(wǎng)段的IP訪問(wèn)bd服務(wù)
sshd:192.168.100.0/255.255.255.0 #允許192.168.100.網(wǎng)段的IP訪問(wèn)服務(wù)器上的sshd進(jìn)程
sshd:60.28.160.244 #允許外網(wǎng)的60.28.160.244訪問(wèn)這個(gè)服務(wù)器上的sshd進(jìn)程
在/etc/hosts.deny中 被禁制登陸的嘗試連接信息也可以設(shè)置成記錄下來(lái)并發(fā)到用戶郵箱
sshd:ALL #禁止所有
5,修改共享出去的目錄權(quán)限為760,并修改目錄所有組為nfsnobody
參考:?jiǎn)栴}7
6,客戶端掛載:執(zhí)行下面的指令就可以把NFS服務(wù)器(IP地址為192.168.1.45)共享出來(lái)的/home掛裝到本地的/mnt/nfs/home目錄下。
showmount -e nfs-serverip: 查看nfs服務(wù)器共享出來(lái)的資源
mount -t nfs 192.168.1.45:/home /mnt/nfs/home
7,NFS性能測(cè)試:
?根據(jù)命令time dd if=/dev/zero of=/mnt/home bs=16k count=16384 來(lái)設(shè)置合理的WSIZE,RSIZE值
?根據(jù)nfs客戶端數(shù),在/etc/sysconfig/nfs配置文件中設(shè)置合適的nfs服務(wù)器端進(jìn)程數(shù)RPCNFSDCOUNT,默認(rèn)為8
exportfs命令:如果我們?cè)趩?dòng)了NFS之后又修改了/etc/exports,是不是還要重新啟動(dòng)nfs呢?這個(gè)時(shí)候我們就可以用exportfs命令來(lái)使改動(dòng)立刻生效,該命令格式如下:
exportfs -a :全部mount或者unmount /etc/exports中的內(nèi)容 -r :重新mount /etc/exports中分享出來(lái)的目錄 -u :umount 目錄 -v :在 export 的時(shí)候,將詳細(xì)的信息輸出到屏幕上。
showmount命令:顯示NFS服務(wù)器的掛載信息。
showmount -e :顯示指定的NFS SERVER上export出來(lái)的目錄,不指定后面IP時(shí)查看的是本機(jī)作為NFS Server時(shí),對(duì)外共享的目錄。。
rpcinfo -p命令:顯示RPC信息 -p參數(shù):用rpc協(xié)議來(lái)探測(cè)主機(jī)host上使用的rpcbind,并顯示所有已注冊(cè)的RPC程序。
nfsstat命令:查看NFS的運(yùn)行狀態(tài),對(duì)于調(diào)整NFS的運(yùn)行有很大幫助
過(guò)程中出現(xiàn)的問(wèn)題解決:
1, 通過(guò)yum或者rpm安裝完portmap后,發(fā)現(xiàn)執(zhí)行命令service portmap start時(shí)報(bào)如下錯(cuò)誤:portmap: unrecognized service。
CentOS6(Linux Kernel 2.6.32)中,portmap已經(jīng)被rpcbind代替了,仔細(xì)查看安裝信息就會(huì)發(fā)現(xiàn),執(zhí)行命令yum install portmap時(shí)安裝的就是rpcbind。安裝完成后也可以通過(guò)命令:yum whatprovides portmap來(lái)查看詳細(xì)信息。
2, 客戶端掛載時(shí),報(bào)錯(cuò)誤mount clntudp_create: RPC: Port mapper failure – RPC: Unable to receive。
?1,通過(guò)命令rpcinfo -p來(lái)查看portmap服務(wù)時(shí)候正常啟動(dòng)以及相應(yīng)的端口(默認(rèn)111)
?2,檢查/etc/sysconfig/iptables防火墻設(shè)置,允許tcp,udp的111端口訪問(wèn),然后service iptables restart
?3,檢查/etc/hosts.deny,/etc/hosts.allow看客戶端連接是否被阻止了
3, 客戶端執(zhí)行命令showmount -e nfs-server時(shí),報(bào)錯(cuò)誤:mount clntudp_create: RPC: Program not registered。
nfs、rpcbind服務(wù)沒(méi)有啟動(dòng),使用chkconfig把nfs、rpcbind加到系統(tǒng)服務(wù)中并用service來(lái)啟動(dòng)
或者在/etc/hosts.allow中添加允許客戶端訪問(wèn)的規(guī)則 ALL:192.168.0.135
4, 客戶端執(zhí)行命令showmount -e nfs-server時(shí),報(bào)錯(cuò)誤:rpc mount export: RPC: Unable to receive; errno = No route to host
配置文件:/etc/sysconfig/nfs
找到nfs服務(wù)相關(guān)端口設(shè)置的地方,并移除注釋后,在iptables防火墻設(shè)置中指定允許相應(yīng)端口的Udp,tcp流通過(guò)。
#MOUNTD_PORT=892
#STATD_PORT=662
#LOCKD_TCPPORT=32803
#LOCKD_UDPPORT=32769
iptables -A INPUT -p TCP –dport 662 -m state –state NEW -j ACCEPT
iptables -A INPUT -p UDP –dport 661 -m state –state NEW -j ACCEPT
5, showmount -e nfs-server成功,正式掛載時(shí)報(bào)錯(cuò):mount: mount to NFS server ‘192.168.1.5’ failed: System Error: No route to host.這是由于nfs服務(wù)的默認(rèn)端口2023被防火墻阻塞了,和上面類似修改iptables允許2023端口通過(guò)
6, showmount -e nfs-server成功,正式掛載時(shí)報(bào)錯(cuò):mount: mount to NFS server ‘192.168.1.5’ failed: timed out (retrying).
編輯/etc/sysconfig/iptables時(shí),相關(guān)端口的tcp端口允許通過(guò),而udp不允許。其他可能的原因參考:mount command fails with NFS server failed error.
Disable name lookup requests from NFS server to a DNS server.
or NFS version used by the NFS client is other than version 3.
7,exports配置文件中目錄權(quán)限屬性設(shè)置為rw(默認(rèn)為root_squash),但是在客戶端mount目錄執(zhí)行touch命令時(shí)報(bào)錯(cuò)誤:touch: cannot touch `a’: Permission denied。解決:
?服務(wù)器端共享目錄權(quán)限查看ll -d /home
?修改服務(wù)器端共享目錄權(quán)限chown 760 /home(文件所有者root有全權(quán)限、文件所有組用戶有讀寫權(quán)限、其他用戶無(wú)權(quán)限,然后把目錄的組設(shè)置為nfsnobody)
?修改服務(wù)器端共享目錄權(quán)限組擁有者為nfsnobody(cat /etc/passwd | grep nob)
?chgrp nfsnobody /home
?成功在客戶端創(chuàng)建新的文件!
Linux怎么端口映射Web服務(wù)器
1、首先檢查設(shè)置的端口影射是否正確映射到內(nèi)網(wǎng)的服務(wù)器。即設(shè)置的轉(zhuǎn)發(fā)規(guī)則的IP地址是否為服務(wù)器的IP地址。
2、無(wú)法訪問(wèn)內(nèi)網(wǎng)的服務(wù)器,請(qǐng)檢查服務(wù)器是否開啟了??梢栽诰钟蚓W(wǎng)內(nèi)使用其他的計(jì)算機(jī)訪問(wèn)一下服務(wù)器,確認(rèn)服務(wù)器是否開啟,并能成功訪問(wèn)。
3、檢查是否映射了服務(wù)器所需的所有端口,有可能沒(méi)有完全設(shè)置訪問(wèn)服務(wù)器所需的端口,導(dǎo)致訪問(wèn)失敗??梢酝ㄟ^(guò)開啟“DMZ主機(jī)”來(lái)檢測(cè)一下,是否端口沒(méi)有映射完全。若開啟DMZ主機(jī)后,能正常訪問(wèn)服務(wù)器,則可能是端口添加不完全。
linux7關(guān)閉端口映射的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux7關(guān)閉端口映射,如何在Linux 7上關(guān)閉端口映射?,在linux上做端口映射,安裝NFS服務(wù)器后需要關(guān)閉相應(yīng)端口,怎么進(jìn)行操作?,Linux怎么端口映射Web服務(wù)器的信息別忘了在本站進(jìn)行查找喔。
成都網(wǎng)站建設(shè)選創(chuàng)新互聯(lián)(?:028-86922220),專業(yè)從事成都網(wǎng)站制作設(shè)計(jì),高端小程序APP定制開發(fā),成都網(wǎng)絡(luò)營(yíng)銷推廣等一站式服務(wù)。
文章名稱:如何在Linux7上關(guān)閉端口映射?(linux7關(guān)閉端口映射)
當(dāng)前地址:http://www.5511xx.com/article/ccoggjj.html


咨詢
建站咨詢
