Tôi đã thay đổi tệp cấu hình iptables /etc/iptables/filter
trong Ubuntu và muốn tải lại chúng. Tôi đọc trang người đàn ông và cũng googled nhưng không thể tìm thấy thông tin. Bất kỳ trợ giúp sẽ được đánh giá cao.
Tôi đã thay đổi tệp cấu hình iptables /etc/iptables/filter
trong Ubuntu và muốn tải lại chúng. Tôi đọc trang người đàn ông và cũng googled nhưng không thể tìm thấy thông tin. Bất kỳ trợ giúp sẽ được đánh giá cao.
Câu trả lời:
Cách dễ nhất là khởi động lại (ngoài ra nếu bên dưới không hoạt động, hãy khởi động lại, kiểm tra xem điều đó có làm thay đổi không).
Dễ dàng thứ hai là khởi động lại các trình tiện ích bằng cách sử dụng các cấu hình iptables (google: restart daemon ub Ubuntu).
ví dụ (phụ thuộc vào cấu hình của bạn):
/etc/init.d/iptables restart
/etc/init.d/networking restart
/etc/init.d/firewall restart
Thông thường các quy tắc tường lửa của bạn nằm trong tệp cấu hình /etc/iptables.firewall.rules
Để kích hoạt các quy tắc được xác định trong tệp của bạn, bạn phải gửi chúng đến iptables-restore
(bạn có thể sử dụng tệp khác nếu bạn muốn):
sudo iptables-restore < /etc/iptables.firewall.rules
Và bạn có thể kiểm tra xem chúng đã được kích hoạt chưa:
sudo iptables -L
Nếu bạn muốn kích hoạt các quy tắc tương tự mỗi lần bạn khởi động máy tính, hãy tạo tệp này:
sudo nano /etc/network/if-pre-up.d/firewall
Với nội dung này:
#!/bin/sh
/sbin/iptables-restore < /etc/iptables.firewall.rules
Và cho phép nó thực hiện:
sudo chmod +x /etc/network/if-pre-up.d/firewall
Hy vọng nó sẽ giúp bạn =)
Tệp ví dụ cho /etc/iptables.firewall.rules
:
*filter
# Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT
# Accept all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow all outbound traffic - you can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT
# Allow HTTP and HTTPS connections from anywhere (the normal ports for websites and SSL).
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
# Allow SSH connections
#
# The -dport number should be the same port number you set in sshd_config
#
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
# Allow ping
-A INPUT -p icmp -j ACCEPT
# Log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
# Drop all other inbound - default deny unless explicitly allowed policy
-A INPUT -j DROP
-A FORWARD -j DROP
COMMIT
/etc/iptables.firewall.rules
nhưng sudo iptables-restore < /etc/iptables/rules.v4
làm việc cho tôi.
Nếu bạn đã thực thi quy tắc của mình thì họ đã chạy và không cần tải lại. Trong trường hợp bạn có tệp cấu hình nhưng nó chưa được thực thi theo cách tốt nhất tôi từng thấy là sử dụng iptables-apply
(tiện ích mở rộng iptables).
iptables-apply -t 60 your_rules_file
Điều này sẽ áp dụng các quy tắc trong 60 giây (10 theo mặc định) và hoàn nguyên chúng nếu bạn không xác nhận chúng. Điều này sẽ giúp bạn tiết kiệm trong trường hợp bạn bị ném ra khỏi hệ thống vì các quy tắc (ví dụ: nếu bạn đang hoạt động thông qua ssh).
Bạn có thể sử dụng như sau để thay thế:
iptables-restore < your_rules_file; sleep 60; iptables-restore < clean_rules
sudo ufw reload
Sẽ tải lại tường lửa và các quy tắc của nó.
Nếu bạn muốn tải lại IPtables để xác thực các thay đổi bạn vừa thực hiện; bạn cũng có thể khởi động lại Apache bằng các dòng lệnh bên dưới:
/etc/init.d/apache2 dừng lại
/etc/init.d/apache2 bắt đầu
Các lệnh này có thể thay đổi tùy thuộc vào hương vị Ubuntu của bạn và các sửa đổi cuối cùng có thể đã được thực hiện trước đó.
Hi vọng điêu nay co ich.
Pierre