GVKun编程网logo

centos 7 端口转发(centos7端口转发)

3

本篇文章给大家谈谈centos7端口转发,以及centos7端口转发的知识点,同时本文还将给你拓展Apache负载均衡端口转发配置、AzureEdge模块的自定义Ip端口转发、CentOS6.5端口转

本篇文章给大家谈谈centos 7 端口转发,以及centos7端口转发的知识点,同时本文还将给你拓展Apache 负载均衡 端口转发 配置、Azure Edge 模块的自定义 Ip 端口转发、CentOS 6.5 端口转发、CentOS 7 firewall-cmd 端口转发等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

centos 7 端口转发(centos7端口转发)

centos 7 端口转发(centos7端口转发)

1. 安装rinetd

# 如果没有安装gcc 先安装gcc,这里就全部一并安装了
yum -y install gcc+ gcc-c++
yum -y install make
#安装,如果地址失效,去官网查看下载地址即可
wget https://boutell.com/rinetd/http/rinetd.tar.gz
tar -zxf rinetd.tar.gz 
mkdir -p /usr/man/man8
make && make install
# 配置
vim /etc/rinetd.conf
# 一行即为一条转发规则 格式如:[source_address] [source_port] [destination_address] [destination_port]
#[本机IP(若非多网卡直接设为0.0.0.0)] [转发端口] [服务IP] [服务端口]
#我本次转发的端口是hbase的即为
192.168.9.87 16000 172.17.0.2 16000
192.168.9.87 16010 172.17.0.2 16010
#启动
rinetd -c /etc/rinetd.conf
#停止 直接kill 即可
#查看转发
netstat -tanulp|grep rinetd

2.使用iptables 转发

这种方式没有试,因为我自己机器,把防火墙关闭了,所以没有使用这种方式。

Apache 负载均衡 端口转发 配置

Apache 负载均衡 端口转发 配置

转载自:https://blog.csdn.net/snihcel/article/details/38844323
[端口转发配置]
      通过http_proxy做tomcat的端口转发:
      描述:将远程服务器映射到本地服务器的URL空间
      语法:ProxyPass [路径] !|url [键=值 键=值 ...]] [nocanon] 
      上下文: server config, virtual host, directory
      状态:扩展
      模块:mod_proxy
      配置httpd.conf:
      #保证以下模块加载
LoadModule proxy_module modules/mod_proxy.so
      LoadModule proxy_http_module modules/mod_proxy_http.so

 

      #配置ProxyPass
ProxyPass /new/ http://mysite.com/
      ProxyPass /new2/ http://192.168.0.169:8080/

 

[负载均衡配置]

      通过http_proxy做负载均衡有个好处,不用MOD_JK,不用写太多的配置文件了,而且据说JK做负载均衡当其中一个Tomcat节点死掉,Apache就不会向该节点发送请求了,而http_proxy会一直发,但该死亡的Tomcat重启后就没事了,这个不清楚,我用的Apache版本是2.2.x,采用http_proxy时,反正session正常复制,感觉不到关闭一个Tomcat节点后对整个负载均衡的影响,大家自己拿捏吧,下面是我的配置:

      第一,(如果是安装的windows,可以不看第一步了,往下看第二步吧)安装Apache,我选用的版本是2.2.x,我是安装在CentOS4.4这个Linux操作系统里的,之前系统自带的是2.0.52,http_proxy提示"BalancerMember不识别,缺少相关的so文件",所以我重新下了个2.2.64的版本,而且听说2.2.x版本修正了一些BUG和大幅提高了一些性能,下面是编译安装步骤。
               1.解压编译包
tar -xzvf **.tar.gz

 

               2.进入解压后的目录,运行configure命令
./configure --enable-modules=most --enable-mods-shared=most --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-scgi --enable-proxy-ajp --enable-proxy-balancer

 

               3.执行编译命令
make

 

               4.执行安装命令
make install

 

               安装完毕!
 
      第二,配置Apache,使其通过http_proxy实现负载均衡
               1.编写一个负载均衡的配置文件,文件名随意吧,我写的是"balance.conf",内容如下:
LoadModule proxy_module modules/mod_proxy.so
                   LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
                   LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
                   LoadModule proxy_connect_module modules/mod_proxy_connect.so
                   LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
                   LoadModule proxy_http_module modules/mod_proxy_http.so
 
                  <VirtualHost *:80>
                      #DocumentRoot "F:\liuqiWorks\myproject\eclipsework\ciesi"
                      ServerName localhost2
                      ProxyPreserveHost On
                      ProxyRequests Off
                      ErrorLog logs/localhost2.cn-error_log
                      CustomLog logs/localhost2.cn-access_log common
 
                      ProxyPass / balancer://tomcat/
                      ProxyPassReverse / http://localhost2:8080/
                      ProxyPassReverse / http://localhost2:8081/
 
                  </VirtualHost>
 
 
                  <Proxy balancer://tomcat>   
                   BalancerMember http://localhost2:8080 loadfactor=2
                   BalancerMember http://localhost2:8081 loadfactor=1
                  </Proxy>

 

                2.编辑httpd.conf文件,包含刚才的配置文件balance.conf,在httpd.conf底部添加如下
                    include "xxx/xxx/balance.conf"  # xxx/xxx/是balance.conf所在的路径
 
                    注意,如果是编译安装apache,httpd.conf里好像是没有加载各种so库文件的,可能会启动不了apache,如果是这样的话请添加或从注释里激活以下模块,
LoadModule actions_module modules/mod_actions.so
                    LoadModule alias_module modules/mod_alias.so
                    LoadModule asis_module modules/mod_asis.so
                    LoadModule auth_basic_module modules/mod_auth_basic.so
                    LoadModule authn_default_module modules/mod_authn_default.so
                    LoadModule authn_file_module modules/mod_authn_file.so
                    LoadModule authz_default_module modules/mod_authz_default.so
                    LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
                    LoadModule authz_host_module modules/mod_authz_host.so
                    LoadModule authz_user_module modules/mod_authz_user.so
                    LoadModule autoindex_module modules/mod_autoindex.so
                    LoadModule cgi_module modules/mod_cgi.so
                    LoadModule dir_module modules/mod_dir.so
                    LoadModule env_module modules/mod_env.so
                    LoadModule include_module modules/mod_include.so
                    LoadModule log_config_module modules/mod_log_config.so
                    LoadModule mime_module modules/mod_mime.so
                    LoadModule negotiation_module modules/mod_negotiation.so
                    LoadModule setenvif_module modules/mod_setenvif.so

 

 
                    Apache配置完毕。
 
               3.Tomcat集群配置,我用的是版本号是7.0.x,有2个tomcat节点,主要是修改每个tomcat节点下的conf/server.xml这个文件,其实就是修改其中一个tomcat节点的几个端口,这样2个tomcat就可以同时运行起来了,配置如下,
 
                   我把8005改成了8006:
                
<Server port="8006" shutdown="SHUTDOWN">

 

                   
                    我把8080改成了8081:
                  
<Connector port="8081" protocol="HTTP/1.1"   connectionTimeout="20000"  redirectPort="8443" />

 

 
                    我把8009改成了8019
                   
<Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />

 

 
                    激活tomcat集群,并注释掉原来的默认属性
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2">
                    <!-- <Engine name="Catalina" defaultHost="localhost"> -->
                    <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

 

 
                    Tomcat配置完毕,然后修改web工程的WEB-INF/web.xml文件,添加一个标签 <distributable/>
                     注意:整个工程中,所有的session里的属性值,必须实现了java.io.Serializable接口,一般的变量类型,例如String,Map,Int等肯定已经实现的,没啥问题,但如果自定义的一个类,要想使用session.setAttribute("xxx",Your.class)的话,这时你写的类就必须要实现java.io.Serializable这个接口了,不然会报错!
 
      至此Apache和Tomcat的配置都完成了,启动Apache和参与集群的多个Tomcat即可,这时你后台登录后,关掉其中有一个Tomcat的话,网站依然运行,因为session已经复制到了另外一个Tomcat之中。
                         

      注意:如果Linux下组播未开启,Tomcat是无法进行session复制的,请执行 route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0

Azure Edge 模块的自定义 Ip 端口转发

Azure Edge 模块的自定义 Ip 端口转发

如何解决Azure Edge 模块的自定义 Ip 端口转发

我正在尝试在 Azure 边缘模块中运行测试演示服务器,该服务器将在

X-ip:8080 端口,这里我想要 X 是任何东西。

我尝试像这样在部署模板文件中绑定主机端口和docker端口

              "createOptions": {
            "HostConfig": {
              "PortBindings": {
                "8080/tcp": [
                  {
                    "HostPort": "8080"
                  }
                ]
              }
          }

并在docker文件中暴露8080端口

FROM amd64/python:3.7-slim-buster

workdir /app

copY requirements.txt ./
RUN pip install -r requirements.txt

copY . .

EXPOSE 8080

CMD [ "python3","-u","./main.py" ]

我能够运行服务器,但是如果我想从主机的本地主机访问它,我必须在 0.0.0.0 IP 处启动服务器,因为 8080 端口仅映射到 0.0.0.0 IP,下面一目了然

CONTAINER ID   IMAGE                                        COMMAND                   CREATED              STATUS              PORTS                                                                  NAMES
d334000c6554   some add /server:0.0.3-amd64   "python3 -u ./main.py"    About a minute ago   Up 43 seconds       0.0.0.0:8080->8080/tcp    

如何将这个“0.0.0.0”自定义为我们想要的 IP 地址,从 0.0.0.0 到 127.0.0.1 之类的东西

解决方法

请修改deployment.template.json,使生成的docker不占用机器的IP地址。

  "createOptions": {
  "NetworkingConfig": {
    "EndpointsConfig": {
      "host": {}
    }
  },"HostConfig": {
    "NetworkMode": "host"
  }
}

参考文献:Azure Iotedge start docker with --net=host so that I can access my IP https://docs.microsoft.com/en-us/azure/iot-edge/how-to-use-create-options?view=iotedge-2020-11

CentOS 6.5 端口转发

CentOS 6.5 端口转发

把访问本机的XX端口,转发到其他机器的端口
vi /etc/sysctl.conf配置文件的net.ipv4.ip_forward = 1默认是0 这样允许iptalbes FORWARD
我是直接编辑文件改的 :sudo vi/etc/sysconfig/iptables

  1. #Generatedbyiptables-savev1.4.7onSatMar117:49:092014
  2. *nat
  3. :PREROUTINGACCEPT[0:0]
  4. :POSTROUTINGACCEPT[0:0]
  5. :OUTPUTACCEPT[0:0]
  6. -APREROUTING-ptcp-mtcp--dport8012-jDNAT--to-destination192.168.1.253:8012
  7. -APOSTROUTING-ptcp-mtcp--dport8012-jMASQUERADE
  8. -APREROUTING-ptcp-mtcp--dport8000-jDNAT--to-destination192.168.1.253:8000
  9. -APOSTROUTING-ptcp-mtcp--dport8000-jMASQUERADE
  10. -APREROUTING-ptcp-mtcp--dport8003-jDNAT--to-destination192.168.1.253:8003
  11. -APOSTROUTING-ptcp-mtcp--dport8003-jMASQUERADE
  12. -APREROUTING-ptcp-mtcp--dport8009-jDNAT--to-destination192.168.1.253:8009
  13. -APOSTROUTING-ptcp-mtcp--dport8009-jMASQUERADE
  14. -APREROUTING-ptcp-mtcp--dport8880-jDNAT--to-destination192.168.1.253:8880
  15. -APOSTROUTING-ptcp-mtcp--dport8880-jMASQUERADE
  16. -APREROUTING-ptcp-mtcp--dport8010-jDNAT--to-destination192.168.1.253:8010
  17. -APOSTROUTING-ptcp-mtcp--dport8010-jMASQUERADE
  18. -APREROUTING-ptcp-mtcp--dport8443-jDNAT--to-destination192.168.1.253:8443
  19. -APOSTROUTING-ptcp-mtcp--dport8443-jMASQUERADE
  20. -APREROUTING-ptcp-mtcp--dport8090-jDNAT--to-destination192.168.1.244:8090
  21. -APOSTROUTING-ptcp-mtcp--dport8090-jMASQUERADE
  22. -APREROUTING-ptcp-mtcp--dport8080-jDNAT--to-destination192.168.1.244:8080
  23. -APOSTROUTING-ptcp-mtcp--dport8080-jMASQUERADE
  24. COMMIT
  25. #CompletedonSatMar117:49:092014

CentOS 7 firewall-cmd 端口转发

CentOS 7 firewall-cmd 端口转发

CentOS官方推荐使用firewall-cmd实现端口转发,虽然它支持iptables,但是同一系统同时只能用firewall-cmd与iptables其中一个。在CentOS 7 v7.4.1708上的实验发现,在安装了firewall-cmd的情况下iptables命令都可用,运行它们的命令都能成功,但是不起到实际的作用。下面是一个firewall-cmd端口转发示例:

把端口为8001到9000之间的所有请求转给80端口:

firewall-cmd --permanent --zone=public --add-forward-port=port=8001-8999:proto=tcp:toport=80
firewall-cmd --reload

今天关于centos 7 端口转发centos7端口转发的讲解已经结束,谢谢您的阅读,如果想了解更多关于Apache 负载均衡 端口转发 配置、Azure Edge 模块的自定义 Ip 端口转发、CentOS 6.5 端口转发、CentOS 7 firewall-cmd 端口转发的相关知识,请在本站搜索。

本文标签: