日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux上用的端口转发工具,Linux中的快速端口转发工具—rinetd

發布時間:2025/3/21 linux 65 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux上用的端口转发工具,Linux中的快速端口转发工具—rinetd 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這兩天和同事討論問題的時候知道了一個很好用的NAT工具—rinetd,它是由c實現的一個短小、實用的NTA轉發工具,它的官網是在:http://www.boutell.com/rinetd/[root@localhost?src]#?wget?http://www.boutell.com/rinetd/http/rinetd.tar.gz

[root@localhost?src]#?tar?-zxvf?rinetd.tar.gz

[root@localhost?src]#?cd?rinetd

[root@localhost?rinetd]#?vim?Makefile#修改下Makefile

CFLAGS=-DLINUX?-g

rinetd:?rinetd.o?match.o

gcc?rinetd.o?match.o?-o?rinetd

install:?rinetd

install?-m?700?rinetd?/usr/sbin

install?-m?644?rinetd.8?/usr/local/share/man/man8

[root@localhost?rinetd]#?make?&&?make?install

這樣rinetd就安裝好了,使用也很簡單可以指定配置文件,一般是放在/etc/rinetd.conf使用-c參數指定配置文件,rinetd是依賴于配置文件工作的[root@localhost?rinetd]#?rinetd?--help

Usage:?rinetd?[OPTION]

-c,?--conf-file?FILE???read?configuration?from?FILE

-h,?--help?????????????display?this?help

-v,?--version??????????display?version?number

Most?options?are?controlled?through?the

configuration?file.?See?the?rinetd(8)

manpage?for?more?information.

更多的參數選項可以參看man rinetd在此就不做過多的說明,利用rinetd可以實現快速高效的端口轉發,舉一個簡單的例子,在三層交換機中的2個vlan:192.168.1.0/24、192.168.2.0/24,2個vlan間內網是互通的但是192.168.1.0/24中沒有做任何的策略路由,只有內網而192.168.1.0/24在外有一個公網ip做了內部服務器的NAT端口映射,即DZM區,而在外部需要訪問192.168.2.0/24內部的某一主機上的相關資源,此時就需要做相應的端口轉發,而在2個vlan中分別有192.168.2.22和192.168.1.240,2臺主機用rinetd來轉發,就在192.168.2.22的主機上的/etc/rinetd.conf文件中添加一行配置:0.0.0.0?80?192.168.1.240?80

#source_address?source_port?destination_address?destination_port

當然利用iptables的nat表轉發也是一樣,nat表如下:*nat

:PREROUTING?ACCEPT?[0:0]

:POSTROUTING?ACCEPT?[3:226]

:OUTPUT?ACCEPT?[3:226]

-A?PREROUTING?-d?192.168.2.22/32?-p?tcp?-m?tcp?--dport?80?-j?DNAT?--to-destination?192.168.1.240:80

-A?POSTROUTING?-d?192.168.1.240/32?-p?tcp?-m?tcp?--dport?80?-j?SNAT?--to-source?192.168.2.22

COMMIT

同時在iptables的filter表上FORWARD鏈上也要做相應的放行:-A?FORWARD?-s?192.168.1.0/24?-j?ACCEPT

-A?FORWARD?-s?192.168.2.0/24?-j?ACCEPT

-A?FORWARD?-d?192.168.1.0/24?-j?ACCEPT

-A?FORWARD?-d?192.168.2.0/24?-j?ACCEPT

-A?FORWARD?-j?REJECT?--reject-with?icmp-host-prohibited

二者之間是等效的,如此可見rinetd的工具在實際生產環境中是非常高效的,這里要注意兩點:

一、無論是使用rinetd或者是iptables的nat表都需要開啟內核ip地址轉發的功能,即net.ipv4.ip_forward = 1;

二、是在filter表中開相應的端口,如果是使用iptables的nat表來轉發還要開放FORWARD鏈以實現轉發

三、使用rinetd中都是把端口當成服務監聽,所以是長連接,如果是ssh這樣的服務在使用端口轉發后會在內網連接上的服務上殘余很多進程,所以在使用rinetd一般是臨時快速實現端口轉發而用的,如果是長時間使用或者一些特殊場景下rinetd還是不如iptables的

總結

以上是生活随笔為你收集整理的linux上用的端口转发工具,Linux中的快速端口转发工具—rinetd的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。