Trong máy chủ của tôi, tôi muốn chuyển hướng tất cả các yêu cầu:
đến từ cổng 81 đến 8080
Vì dịch vụ Jenkins không được phép nghe ở cổng 80, tôi làm theo tài liệu của Jenkins
Jenkins - Proxy đảo ngược sử dụng tường lửa
Nhưng không hoạt động, dưới đây là bước của tôi và một số chi tiết hệ thống:
- Phiên bản CentOS = 7.9.2009
[root@xxx ~]# mèo /etc/centos-release
Bản phát hành CentOS Linux 7.9.2009 (Lõi)
- Tôi đã bật cổng và thêm quy tắc chuyển tiếp cổng trong tường lửa:
(Đã thêm tường lửa vĩnh viễn và tải lại)
[root@xxx ~]# tường lửa-cmd --list-all --zone=public
công khai (đang hoạt động)
mục tiêu: mặc định
icmp-block-đảo ngược: không
giao diện: ens160 lo
nguồn:
dịch vụ: dhcpv6-client http ssh
cổng: 80/tcp 443/tcp 81/tcp
giao thức:
hóa trang: vâng
cổng chuyển tiếp: port=81:proto=tcp:toport=8080:toaddr=
cổng nguồn:
khối icmp:
Quy tắc phong phú:
- kiểm tra netstat:
[root@xxx ~]# netstat -tulpn | grep NGHE
tcp 0 0 0.0.0.0:22 0.0.0.0:* NGHE 1090/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* NGHE 1724/chính
tcp6 0 0 :::8080 :::* NGHE 1107/java
tcp6 0 0 :::22 :::* NGHE 1090/sshd
tcp6 0 0 ::1:25 :::* NGHE 1724/chính
Chỉ 8080/22/25 được nghe trên.
- Tôi thử sử dụng công cụ nc để kiểm tra chuyển tiếp cổng:
[root@xxx ~]# nc -v 127.0.0.1 8080
Ncat: Phiên bản 7.50 ( https://nmap.org/ncat )
Ncat: Đã kết nối với 127.0.0.1:8080.
^C
[root@xxx ~]# nc -v 127.0.0.1 81
Ncat: Phiên bản 7.50 ( https://nmap.org/ncat )
Ncat: Kết nối bị từ chối.
8080 thì ok, nhưng chuyển tiếp 81 không hoạt động.
- Một số tài liệu tham khảo cho biết cần đặt net.ipv4.ip_forward=1.
Tôi cũng đã thiết lập trước đây:
[root@xxx ~]# sysctl -a |grep "ip_forward"
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_use_pmtu = 0
sysctl: khóa đọc "net.ipv6.conf.all.stable_secret"
sysctl: khóa đọc "net.ipv6.conf.default.stable_secret"
sysctl: khóa đọc "net.ipv6.conf.ens160.stable_secret"
sysctl: khóa đọc "net.ipv6.conf.lo.stable_secret"
- Kiểm tra kỹ iptables của tôi và tôi đã không thiết lập iptables:
[root@xxx ~]# iptables -L
ĐẦU VÀO chuỗi (chính sách CHẤP NHẬN)
đích prot opt nguồn đích
Chuỗi FORWARD (chính sách CHẤP NHẬN)
đích prot opt nguồn đích
ĐẦU RA chuỗi (chính sách CHẤP NHẬN)
đích prot opt nguồn đích
[root@xxx ~]# systemctl status iptables
Không thể tìm thấy đơn vị iptables.service.
Bạn có ý tưởng nào về cách làm việc "chuyển tiếp cổng" bằng tường lửa không?
Cảm ơn.