định tuyến cổng liên tục từ 80 đến 8080


23

Tôi sử dụng phiên bản amazon EC2 hoạt động thông qua Ubuntu. Theo mặc định, theo các hạn chế bảo mật, tôi không thể chuyển ứng dụng của mình sang cổng 80, vì vậy tôi chỉ liên kết nó với cổng 8080 và sau đó đặt chuyển hướng định tuyến từ cổng 80 đến 8080 thông qua lệnh sau:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080

Nhưng tôi thấy rằng khi tôi khởi động lại máy chủ, cài đặt này không còn hoạt động cho đến khi tôi gọi lại lệnh này.

Vì vậy, câu hỏi của tôi là làm thế nào để kích hoạt công việc chuyển hướng của cổng ngay cả khi hệ thống được khởi động lại?

Câu trả lời:


18

Bạn có thể thêm lệnh này vào /etc/rc.local, vì vậy nó sẽ được thực thi tự động sau khi khởi động lại.


Đã làm điều đó, nhưng vẫn cảm ơn vì câu trả lời
Ph0en1x

chào mừng bạn của tôi, đó là một mẹo hay
nux

2
Điều này hoạt động, nhưng câu trả lời thực sự là câu trả lời của @ MeOMy bên dưới.
Dirk Groeneveld

15

Sử dụng lệnh iptables-save thay thế. Các quy tắc tường lửa không bao giờ nên đi vào tập lệnh RC.local. RC.local là điều cuối cùng được thực thi. Nếu một quy tắc khối đã được đặt vào RC.local, có một khung thời gian nhỏ nơi kẻ tấn công có thể khai thác quy tắc không được áp dụng. Mặc dù điều này có thể không quan trọng với tình huống này, nhưng tốt nhất là không nên có thói quen xấu có thể cắn bạn sau này.


1
đã chạy "sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080" và "sudo iptables-save". Nhưng định tuyến đã được thiết lập lại khi khởi động lại. Tôi đã hiểu sai làm thế nào để làm điều này?
gromit190

2
Câu trả lời là không đầy đủ. iptables-save > some-file-pathtiết kiệm các quy tắc, và sau đó bạn sẽ khôi phục lại chúng thông qua iptables-restore < some-file-pathtrong rc.local. Hoặc cài đặt iptables-persistentmà làm điều này trong khi khởi động như một dịch vụ.
Thomas Ward

Tôi muốn hiểu làm thế nào để làm điều này. Cụ thể hơn, xin vui lòng
gromit190

4

Đây là cách tài liệu chính thức của ipttable dạy chúng ta. Xem tại đây

Thêm hai dòng này trong / etc / network / interface:
pre-up iptables-restore < /etc/iptables.rules post-down iptables-save > /etc/iptables.rules

Dòng "iptables-save> /etc/iptables.rules" sẽ lưu các quy tắc được sử dụng trong lần khởi động tiếp theo.


Kudos cho việc sử dụng phương pháp được đề xuất chính thức và, trong trường hợp này, phương pháp đơn giản nhất, để hoàn thành nhiệm vụ này. Tôi sẽ +2 nếu tôi có thể sử dụng phương pháp KISS.
DeeJayh 17/03/2017

0

Tôi phát hiện ra một tập hợp các thư mục trên Ubuntu 16.04 trong /etc/networkđó sẽ chạy các tập lệnh vào nhiều thời điểm khác nhau trong quá trình khởi tạo và tắt mạng:

if-down.d
if-post-down.d  
if-pre-up.d  
if-up.d
interfaces.d

Vì vậy, tôi thấy rằng tôi có thể kết xuất cấu hình như bình thường:

$ sudo sh -c "iptables-save > /etc/iptables.rules"

Sau đó, tôi đã tạo một tệp `/etc/network/if-pre-up.d/restore:

#!/bin/sh

iptables-restore < /etc/iptables.rules

... và gắn cờ nó có thể thực thi được

$ sudo chmod 755 /etc/network/if-pre-up.d/restore
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.