本篇文章给大家谈谈centos7端口转发,以及centos7端口转发的知识点,同时本文还将给你拓展Apache负载均衡端口转发配置、AzureEdge模块的自定义Ip端口转发、CentOS6.5端口转
本篇文章给大家谈谈centos 7 端口转发,以及centos7端口转发的知识点,同时本文还将给你拓展Apache 负载均衡 端口转发 配置、Azure Edge 模块的自定义 Ip 端口转发、CentOS 6.5 端口转发、CentOS 7 firewall-cmd 端口转发等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:- centos 7 端口转发(centos7端口转发)
- Apache 负载均衡 端口转发 配置
- Azure Edge 模块的自定义 Ip 端口转发
- CentOS 6.5 端口转发
- CentOS 7 firewall-cmd 端口转发
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 负载均衡 端口转发 配置
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
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节点后对整个负载均衡的影响,大家自己拿捏吧,下面是我的配置:
tar -xzvf **.tar.gz
./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
make
make install
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>
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
<Server port="8006" shutdown="SHUTDOWN">
<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2">
<!-- <Engine name="Catalina" defaultHost="localhost"> -->
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
注意:如果Linux下组播未开启,Tomcat是无法进行session复制的,请执行 route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
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 端口转发
把访问本机的XX端口,转发到其他机器的端口
vi /etc/sysctl.conf配置文件的net.ipv4.ip_forward = 1默认是0 这样允许iptalbes FORWARD
我是直接编辑文件改的 :sudo vi/etc/sysconfig/iptables
- #Generatedbyiptables-savev1.4.7onSatMar117:49:092014
- *nat
- :PREROUTINGACCEPT[0:0]
- :POSTROUTINGACCEPT[0:0]
- :OUTPUTACCEPT[0:0]
- -APREROUTING-ptcp-mtcp--dport8012-jDNAT--to-destination192.168.1.253:8012
- -APOSTROUTING-ptcp-mtcp--dport8012-jMASQUERADE
- -APREROUTING-ptcp-mtcp--dport8000-jDNAT--to-destination192.168.1.253:8000
- -APOSTROUTING-ptcp-mtcp--dport8000-jMASQUERADE
- -APREROUTING-ptcp-mtcp--dport8003-jDNAT--to-destination192.168.1.253:8003
- -APOSTROUTING-ptcp-mtcp--dport8003-jMASQUERADE
- -APREROUTING-ptcp-mtcp--dport8009-jDNAT--to-destination192.168.1.253:8009
- -APOSTROUTING-ptcp-mtcp--dport8009-jMASQUERADE
- -APREROUTING-ptcp-mtcp--dport8880-jDNAT--to-destination192.168.1.253:8880
- -APOSTROUTING-ptcp-mtcp--dport8880-jMASQUERADE
- -APREROUTING-ptcp-mtcp--dport8010-jDNAT--to-destination192.168.1.253:8010
- -APOSTROUTING-ptcp-mtcp--dport8010-jMASQUERADE
- -APREROUTING-ptcp-mtcp--dport8443-jDNAT--to-destination192.168.1.253:8443
- -APOSTROUTING-ptcp-mtcp--dport8443-jMASQUERADE
- -APREROUTING-ptcp-mtcp--dport8090-jDNAT--to-destination192.168.1.244:8090
- -APOSTROUTING-ptcp-mtcp--dport8090-jMASQUERADE
- -APREROUTING-ptcp-mtcp--dport8080-jDNAT--to-destination192.168.1.244:8080
- -APOSTROUTING-ptcp-mtcp--dport8080-jMASQUERADE
- COMMIT
- #CompletedonSatMar117:49:092014
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 端口转发的相关知识,请在本站搜索。
本文标签: