JenkinsをRHEL6サーバーで実行しようとしています。 Jenkinsはインストールされていますが、ファイアウォールルールのためアクセスできません。 service iptables stop
でiptablesを停止すると、ブラウザのポート8080でJenkinsにアクセスできます。サービスを再起動すると、アクセスできなくなります。
私はiptablesにルールを追加して、ポート8080でのトラフィックを許可するさまざまな方法を試しましたが、役に立ちませんでした。
INPUTセクションの最初の行にJenkins/port8080ルールを使用したiptables -L -n
の現在の出力は次のとおりです。
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:25
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:53
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:53
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5353
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:5353
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5353
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:5353
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:443
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:123
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:161
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:161
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:389
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:389
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:636
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:636
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8140
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:8140
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:111
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:111
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:111
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:111
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:2049
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2049
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:2049
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:2049
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:4046
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:4046
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:4046
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:4046
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:4045
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:4045
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:4047
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:4047
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:4049
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:514
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:514
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:717
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:717
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6000
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:6000
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2435
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:2435
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:4526
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:4526
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2659
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:2659
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:1521
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:1521
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 0
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:25
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:53
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:53
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:5353
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5353
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:5353
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5353
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:443
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:123
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:161
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:161
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:389
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:389
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:636
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:636
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:8140
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8140
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:111
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:111
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:111
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:111
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:2049
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:2049
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:2049
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2049
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:4046
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:4046
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:4046
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:4046
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:4045
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:4045
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:4047
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:4047
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:4049
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:514
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:514
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:6000
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6000
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:717
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:717
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:2435
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2435
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:4526
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:4526
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:2659
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2659
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:1521
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:1521
Gazareth、iptablesのINPUTキュールール以外に気付いた場合は、OUTPUTキュールールを構成しており、8080/TCPポートはOUTPUTキューで許可/構成されていません。
あなたが追加したように:
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
また、以下を追加する必要があります。
iptables -I OUTPUT -p tcp --sport 8080 -j ACCEPT
iptablesは、ステートフルファイアウォールルールを維持することができるため、2つの異なるキューを維持する代わりに、次のことも可能です。
iptables -I INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
手作業で行う場合は、-Iを使用してルールをキューの先頭に配置し、バッチファイルで行う場合は、通常、iptables-Aを行うことに注意してください。
デフォルトのJenkinsインストールはポート8080と8443で実行されます。通常、HTTP/HTTPSサーバーはそれぞれポート80と443で実行されます。ただし、これらのポートはUnix/Linuxシステムでは特権があると見なされ、それらを使用するプロセスはrootが所有する必要があります。 Jenkinsをrootとして実行することはお勧めしません。独自のユーザーとして実行する必要があります。
したがって、トラフィックをポート80/443から8080/8443に転送する必要があります。 iptablesがこれら4つのポートすべてでトラフィックを許可していることを確認する必要があります。
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8443
iptables-保存>/etc/sysconfig/iptables
または、
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 127.0.0.1:8080