Masalahnya
Aplikasi mendapatkan "koneksi ditolak" dari server lain. Aplikasi dapat diakses dari localhost dan juga mendengarkan port yang diharapkan.
Solusinya
Firewall di server lokal menghentikan upaya koneksi masuk dari server lain.
Catatan :Secara default, CentOS/RHEL 7 menggunakan layanan FIREWALLD untuk mengelola aturan IPTABLES. Subsistem IPTABLES yang lebih lama masih tersedia dan dapat digunakan secara langsung jika layanan FIREWALLD dinonaktifkan.1. Tentukan apakah layanan FIREWALLD sedang digunakan.
# systemctl status firewalld.service ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: active (running) since Thu 2017-12-21 15:03:59 EST; 4s ago Docs: man:firewalld(1) Main PID: 18880 (firewalld) CGroup: /system.slice/firewalld.service └─18880 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid Dec 21 15:03:58 testserver systemd[1]: Starting firewalld - dynamic firewall daemon... Dec 21 15:03:59 testserver systemd[1]: Started firewalld - dynamic firewall daemon. Dec 21 15:04:01 testserver firewalld[18880]: WARNING: ICMP type 'beyond-scope' is not supported by the kernel for ipv6. Dec 21 15:04:01 testserver firewalld[18880]: WARNING: beyond-scope: INVALID_ICMPTYPE: No supported ICMP type., ignoring for run-time. Dec 21 15:04:01 testserver firewalld[18880]: WARNING: ICMP type 'failed-policy' is not supported by the kernel for ipv6. Dec 21 15:04:01 testserver firewalld[18880]: WARNING: failed-policy: INVALID_ICMPTYPE: No supported ICMP type., ignoring for run-time. Dec 21 15:04:01 testserver firewalld[18880]: WARNING: ICMP type 'reject-route' is not supported by the kernel for ipv6. Dec 21 15:04:01 testserver firewalld[18880]: WARNING: reject-route: INVALID_ICMPTYPE: No supported ICMP type., ignoring for run-time.
2. Tentukan apakah layanan IPTABLES sedang digunakan.
# systemctl status iptables.service * iptables.service - IPv4 firewall with iptables Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled) Active: active (exited) since Thu 2017-12-21 17:51:12 UTC; 26min ago Process: 440 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS) Main PID: 440 (code=exited, status=0/SUCCESS) CGroup: /system.slice/iptables.service Dec 21 17:51:12 testserver systemd[1]: Starting IPv4 firewall with iptables... Dec 21 17:51:12 testserver iptables.init[440]: iptables: Applying firewall rules: [ OK ] Dec 21 17:51:12 testserver systemd[1]: Started IPv4 firewall with iptables.Perhatian :memeriksa firewall menggunakan "iptables -L" tidak cukup.
3. Sebelum CentOS/RHEL 7, memeriksa firewall sistem menggunakan perintah iptables sudah cukup untuk mengetahui apakah firewall sedang digunakan. Misalnya, memeriksa dengan:
# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT udp -- anywhere anywhere udp dpt:domain ACCEPT tcp -- anywhere anywhere tcp dpt:domain ... INPUT_direct all -- anywhere anywhere INPUT_ZONES_SOURCE all -- anywhere anywhere INPUT_ZONES all -- anywhere anywhere DROP all -- anywhere anywhere ctstate INVALID REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
sudah cukup.untuk menentukan cara mengontrol aturan firewall. Dengan CentOS/RHEL 7, layanan FIREWALLD yang lebih baru atau IPTABLES-SERVICE yang lebih lama dapat mengendalikan aturan firewall. Jadi keduanya perlu diperiksa untuk memastikannya.