Windows tương đương với iptables?


58

Câu hỏi ngu ngốc:

Có tương đương với iptables trên Windows không? Tôi có thể cài đặt một cái qua cygwin không?

Câu hỏi thực sự: làm thế nào tôi có thể thực hiện trên Windows những gì tôi có thể thực hiện thông qua iptables? Chỉ cần tìm chức năng tường lửa cơ bản (ví dụ: chặn một số địa chỉ IP nhất định)


6
Không có câu hỏi nào ngớ ngẩn
Mark Henderson

4
Tất nhiên có một câu hỏi ngớ ngẩn, đây không phải là một câu hỏi.
Nhiệm vụ

Câu trả lời:


37

Một cách sẽ là với netshlệnh:


8
+1 - netsh advfirewalllà một quy tắc cần thiết tuyệt đối để tìm hiểu cho bất kỳ ai viết kịch bản bất kỳ điều gì bảo mật liên quan đến Windows Server
Mark Henderson

netsh advfirewallhỗ trợ URL, hoặc chỉ địa chỉ IP?
Parker

Chỉ cần địa chỉ IP và như vậy, mặc dù nó cũng có thể lọc dựa trên việc gửi hoặc nhận lưu lượng truy cập mạng hoặc thông tin đăng nhập AD của người dùng / nhóm / máy tính có liên quan. Để lọc URL, bạn muốn tìm một loại proxy lọc nào đó.
James Sneeringer

6

Dưới đây là từ: https://support.microsoft.com/en-us/kb/947709

Ví dụ 1: Kích hoạt chương trình

Lệnh cũ Lệnh mới

netsh firewall add allowedprogram C:\MyApp\MyApp.exe "My Application" ENABLE    
netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=Domain   netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domain
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=ALL  

Chạy các lệnh sau:

netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domain

netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=private

Để biết thêm thông tin về cách thêm quy tắc tường lửa, hãy chạy lệnh sau:

netsh advfirewall firewall add rule ?

Ví dụ 2: Kích hoạt cổng

Lệnh cũ Lệnh mới

netsh firewall add portopening TCP 80 "Open Port 80"    
netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80

Để biết thêm thông tin về cách thêm quy tắc tường lửa, hãy chạy lệnh sau:

netsh advfirewall firewall add rule ?

Ví dụ 3: Xóa các chương trình hoặc cổng được kích hoạt

Lệnh cũ Lệnh mới

netsh firewall delete allowedprogram C:\MyApp\MyApp.exe netsh advfirewall firewall delete rule name=rule name program="C:\MyApp\MyApp.exe"
delete portopening protocol=UDP port=500    netsh advfirewall firewall delete rule name=rule name protocol=udp localport=500

Để biết thêm thông tin về cách xóa quy tắc tường lửa, hãy chạy lệnh sau:

netsh advfirewall firewall delete rule ?

Ví dụ 4: Định cấu hình cài đặt ICMP

Lệnh cũ Lệnh mới

netsh firewall set icmpsetting 8    netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow
netsh firewall set icmpsetting type=ALL mode=enable netsh advfirewall firewall add rule name="All ICMP V4" protocol=icmpv4:any,any dir=in action=allow
netsh firewall set icmpsetting 13 disable all   netsh advfirewall firewall add rule name="Block Type 13 ICMP V4" protocol=icmpv4:13,any dir=in action=block

Để biết thêm thông tin về cách định cấu hình cài đặt ICMP, hãy chạy lệnh sau:

netsh advfirewall firewall add rule ?

Ví dụ 5: Đặt ghi nhật ký

Lệnh cũ Lệnh mới netsh firewall set logging %systemroot%\system32\LogFiles\Firewall\pfirewall.log 4096 ENABLE ENABLE Chạy các lệnh sau:

netsh advfirewall set currentprofile logging filename %systemroot%\system32\LogFiles\Firewall\pfirewall.log

netsh advfirewall set currentprofile logging maxfilesize 4096
netsh advfirewall set currentprofile logging droppedconnections enable

netsh advfirewall set currentprofile logging allowedconnections enable

Để biết thêm thông tin, hãy chạy lệnh sau:

netsh advfirewall set currentprofile ?

Nếu bạn muốn đặt ghi nhật ký cho một hồ sơ cụ thể, hãy sử dụng một trong các tùy chọn sau thay vì tùy chọn "currentprofile":
Domainprofile
Privateprofile
Publicprofile

Ví dụ 6: Kích hoạt tường lửa Windows

Lệnh cũ Lệnh mới

netsh firewall set opmode ENABLE    netsh advfirewall set currentprofile state on
netsh firewall set opmode mode=ENABLE exceptions=enable 

Chạy các lệnh sau:

Netsh advfirewall set currentprofile state on 

netsh advfirewall set currentprofile firewallpolicy blockinboundalways,allowoutbound
netsh firewall set opmode mode=enable exceptions=disable profile=domain 

Chạy các lệnh sau:

Netsh advfirewall set domainprofile state on 

netsh advfirewall set domainprofile firewallpolicy blockinbound,allowoutbound
netsh firewall set opmode mode=enable profile=ALL   Run the following commands:

netsh advfirewall set domainprofile state on 

netsh advfirewall set privateprofile state on

Để biết thêm thông tin, hãy chạy lệnh sau:

netsh advfirewall set currentprofile ?

Nếu bạn muốn đặt trạng thái tường lửa cho một cấu hình cụ thể, hãy sử dụng một trong các tùy chọn sau thay vì tùy chọn "currentprofile": Domainprofile
Privateprofile
Publicprofile

Ví dụ 7: Khôi phục mặc định chính sách

Lệnh cũ Lệnh mới

netsh firewall reset
netsh advfirewall reset

Để biết thêm thông tin, hãy chạy lệnh sau: Netsh advfirewall reset? Ví dụ 8: Cho phép các dịch vụ cụ thể

Lệnh cũ Lệnh dịch vụ cài đặt tường lửa Netsh mới dịch vụ RemoteDesktop enable profile = ALL Chạy các lệnh sau:

Netsh advfirewall tường lửa thiết lập nhóm quy tắc = "máy tính từ xa" new enable = Có hồ sơ = tên miền

Netsh advfirewall tường lửa thiết lập nhóm quy tắc = "máy tính từ xa" new enable = Có hồ sơ = riêng tư


3
Bạn có thể muốn làm việc trên định dạng. Hiện tại nó là khủng khiếp để đọc, mời downvote.
Gerald Schneider

1
Cũng được trích xuất từ support.microsoft.com/en-us/kb/947709
chappjc


3

Có một tường lửa tích hợp trong XP, Server 2003 và các phiên bản mới hơn.

Nó có một API thông qua đó bạn có thể lập trình thay đổi, kích hoạt và vô hiệu hóa các quy tắc.


1
Tôi muốn một cái gì đó tôi có thể truy cập theo chương trình - thêm địa chỉ IP vào tường lửa từ trong một tập lệnh hoặc mô-đun phần mềm.
Aaron F.
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.