2016-12-01 4 views
-2

Ich muss Port 8080 zu Port 80 auf meinem Linux-Server umleiten. Mein Problem ist das gleiche wie: https://askubuntu.com/a/579540Firewalld: Port 80 zu 8080 umleiten und es auf dem lokalen Rechner funktionieren lassen

Der einzige Unterschied ist, dass ich iptables nicht haben - gibt es eine Möglichkeit, dies mit firewalld zu tun?

EDIT: Jetzt weiß ich, dass firewalld verwendet iptables und Befehle können iptables über firewalld mit übergeben werden:

firewall-cmd [--permanent] --direct --add-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args> 

ich habe:

  • HTTP-Server auf Port 8080 läuft
  • Port 80 umgeleitet zu 8080 in firewalld (Zone public)
  • Clients von anderen Computern Zugriff auf throu gh Port 80 kann an den HTTP-Server erhalten
  • ich den Server auf Port 8080 von demselben Computer zugreifen können, auf dem der Server

Ich möchte auch ausgeführt wird:

  • Zugriff auf die Server auf Port 80 von demselben Computer, auf dem der Server

ich habe versucht, ausgeführt wird:

  • Zugabe Schnittstelle "lo" "public"
  • Projektierungs-Zone "trusted" in der gleichen Weise wie Zone "public"

Zone "public" Konfiguration der Zone:

<zone> 
    <short>Public</short> 
    <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description> 
    <service name="snmp"/> 
    <service name="http"/> 
    <service name="ssh"/> 
    <service name="https"/> 
    <icmp-block name="redirect"/> 
    <icmp-block name="router-solicitation"/> 
    <icmp-block name="parameter-problem"/> 
    <icmp-block name="router-advertisement"/> 
    <forward-port to-port="8080" protocol="tcp" port="80"/> 
</zone> 

Fehler:

#wget "192.168.100.42:80" 
--2016-12-01 16:02:29-- http://192.168.100.42/ 
Connecting to 192.168.100.42:80... failed: Connection refused. 

#wget "192.168.100.42:8080" 
--2016-12-01 16:06:37-- http://192.168.100.42:8080/ 
Connecting to 192.168.100.42:8080... connected. 
HTTP request sent, awaiting response... 302 Found 
... 
HTTP request sent, awaiting response... 302 Found 
... 
HTTP request sent, awaiting response... 302 Found 
... 
HTTP request sent, awaiting response... 200 OK 
Length: unspecified [text/html] 
Saving to: ‘index.html’ 
... 
2016-12-01 16:06:37 (69.8 MB/s) - ‘index.html’ saved [4785] 

#wget "localhost:80" 
--2016-12-01 16:02:12-- http://localhost/ 
Resolving localhost (localhost)... 127.0.0.1, ::1 
Connecting to localhost (localhost)|127.0.0.1|:80... failed: Connection refused. 
Connecting to localhost (localhost)|::1|:80... failed: Network is unreachable. 

#wget "localhost:8080" 
--2016-12-01 16:06:29-- http://localhost:8080/ 
Resolving localhost (localhost)... 127.0.0.1, ::1 
Connecting to localhost (localhost)|127.0.0.1|:8080... failed: Connection refused. 
Connecting to localhost (localhost)|::1|:8080... failed: Network is unreachable. 

BEARBEITEN SIE: LÖSUNG: Der Server war nicht auf Loopback-Schnittstelle überhaupt zu hören.

Antwort

1

Der Server laufen nicht auf lokale Schleife achtet.

+0

Bitte verbessern Sie diese Antwort; es fehlt an ausreichenden Details. Ich habe eine neue CentOS 7.2 Installation (die ein älteres Ubuntu System ersetzt); firewalld ist neu für mich. Ich führe nicht httpd, nur Tomcat 8 läuft auf 8180, mit Firewall-Port-Weiterleitung von 80-> 8180. Funktioniert gut aus der öffentlichen Zone, und Port 8180 funktioniert auch auf localhost, aber Port-Weiterleitung nicht. 'Firewall-Config' Listen * no *" Interfaces ".netstap zeigt 'tcp6 0 0 ::: 8180 ::: * LISTEN-' – djb

0

Mit dem Post Firewall. Ändern Sie bitte Ihre ips lokalen Netzwerk und Server:

erstellen iptables.sh in /etc/init.d/, chmod + x und

# NOMENCLATURE 
internet=eth0  # interface of internet source 
lan=eth1   # interface of local network 
local=192.168.1.0 # your local network 
netmask=24  # netmask of your local network 
iptables=/sbin/iptables 

# Zero all packets and counters 
$iptables -F 
$iptables -X 
$iptables -t nat -F 
$iptables -t nat -X 
$iptables -t mangle -F 
$iptables -t mangle -X 
$iptables -t raw -F 
$iptables -t raw -X 
$iptables -t security -F 
$iptables -t security -X 
$iptables -Z 
$iptables -t nat -Z 
$iptables -t mangle -Z 

# Global Policies (DROP or ACCEPT) 
$iptables -P INPUT ACCEPT 
$iptables -P OUTPUT ACCEPT 
$iptables -P FORWARD ACCEPT 
$iptables -t nat -P PREROUTING ACCEPT 
$iptables -t nat -P POSTROUTING ACCEPT 
$iptables -t nat -P OUTPUT ACCEPT 
$iptables -t mangle -P PREROUTING ACCEPT 
$iptables -t mangle -P INPUT ACCEPT 
$iptables -t mangle -P FORWARD ACCEPT 
$iptables -t mangle -P OUTPUT ACCEPT 
$iptables -t mangle -P POSTROUTING ACCEPT 

# LOOPBACK 
$iptables -A INPUT -p all -i lo -j ACCEPT 
$iptables -A INPUT -s 192.168.1.10 -j ACCEPT 
$iptables -A OUTPUT -p all -o lo -j ACCEPT 
$iptables -A OUTPUT -p all -s 127.0.0.1 -j ACCEPT 
$iptables -t mangle -A PREROUTING -p all -i lo -j ACCEPT 
$iptables -t mangle -A PREROUTING -p all -s 127.0.0.1 -j ACCEPT 
$iptables -t nat -A PREROUTING -p all -i lo -j ACCEPT 

# IP forward rules 
echo 1 > /proc/sys/net/ipv4/ip_forward 

# MASQUERADE 
$iptables -t nat -A POSTROUTING -s $local/$netmask -o $internet -j MASQUERADE 

$iptables -A OUTPUT -p udp --dport 53 -j DROP 
$iptables -A INPUT -p udp --sport 53 -j DROP 
$iptables -A FORWARD -p udp --dport 53 -j DROP 

# LAN ---> PROXY <--- INTERNET 
$iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
$iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT 
$iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT 

# TRANSPARENT RULES 
$iptables -t nat -A PREROUTING -i $lan -p tcp --dport 80 -j REDIRECT --to-port 8080 
$iptables -A INPUT -i $lan -p tcp --dport 8080 -j ACCEPT 
$iptables -A FORWARD -i $lan -p tcp -m multiport --dports 80,8080,443 -o $internet -j ACCEPT 
Verwandte Themen