[Question] Hỏi về mô hình và iptables |
23/02/2011 14:03:29 (+0700) | #1 | 231719 |
Search_IT
Member
|
0 |
|
|
Joined: 21/02/2011 20:50:49
Messages: 61
Offline
|
|
Em chào các anh chị,
Em đang nghiên cứu về cái iptables. Và gặp vấn đề thế này.
Trước tiên là mô hình em như sau
Trong đó:
Client: Là người dùng bình thường muốn truy cập vào Web Server.
Em muốn khi người dùng gỏ vào trình duyệt là http://192.168.1.100 thì sẻ đến máy trong là 10.0.0.102
Em đã cấu hình như sau mà chưa đc. Cụ thể:
Khi iptables stop:
+ Client ping đến iptables bình thường.
+ iptables ping và vô đc web từ 10.0.0.102
Khi iptables start em đã áp dụng mấy Rule sau (nội dung file iptables):
Code:
# Generated by iptables-save v1.3.5 on Tue Feb 22 22:57:40 2011
*nat
REROUTING ACCEPT [2:464]
OSTROUTING ACCEPT [2:104]
:OUTPUT ACCEPT [5:3600]
-A PREROUTING -d 192.168.1.100 -i eth0 -p tcp -m tcp --dport 80 -m state --state NEW,RELATED,ESTABLISHED -j DNAT --to-destination 10.0.0.102:80
COMMIT
# Completed on Tue Feb 22 22:57:40 2011
# Generated by iptables-save v1.3.5 on Tue Feb 22 22:57:40 2011
*filter
:INPUT DROP [9:1167]
:FORWARD DROP [0:0]
:OUTPUT DROP [9:6064]
-A INPUT -d 192.168.1.100 -i eth0 -p tcp -m state --state NEW,ESTABLISHED -m tcp --dport 22 -j ACCEPT
-A FORWARD -d 10.0.0.102 -i eth0 -o eth1 -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -o eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -s 192.168.1.100 -o eth0 -p tcp -m state --state ESTABLISHED -j ACCEPT
COMMIT
# Completed on Tue Feb 22 22:57:40 2011
Đã enable chế độ forward
Code:
[root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward
1
Em loay hoay mấy ngày mà vẩn chưa làm đc. Ko biết sai chổ nào mong mọi người xem giúp em.
|
|
|
|
|
[Question] Hỏi về mô hình và iptables |
24/02/2011 03:11:17 (+0700) | #2 | 231764 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Gợi ý:
Em đã tạo reverse NAT từ 192.168.1.100 vô trong 10.0.0.102 để cho phép packets đi vô. Vậy packet đi ra từ 10.0.0.102 để đến 192.168.1.101/24 thì sao? |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Hỏi về mô hình và iptables |
24/02/2011 09:14:54 (+0700) | #3 | 231777 |
Search_IT
Member
|
0 |
|
|
Joined: 21/02/2011 20:50:49
Messages: 61
Offline
|
|
Hi anh,
Em đã gỏ thêm lệnh
Code:
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.102 -j SNAT --to-source 192.168.1.102
nhưng client vẩn ko vô đc.
Thực ra em cũng đã test từng bước như đường đi của dây điện vào bóng đèn. Có nghĩa là em test từng bước ở đây là em sẻ listen trên Web Server xem có gói tin nào đi vào hay chưa? Và nếu đã đi vào đc thì nếu client ko nhận đc response trên trình duyệt có nghĩa là do đầu ra.
Em đã dùng lệnh
Code:
[root@localhost ~]# nc -lvv 10.0.0.102 80
Nhưng vẩn im ắng, cho dù trước đó khi stop iptables thì khi iptables đóng vai trò là client thì dùng lệnh trên bắt đc phần header của gói tin đi vào. |
|
|
|
|
[Question] Hỏi về mô hình và iptables |
24/02/2011 10:25:55 (+0700) | #4 | 231784 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Search_IT wrote:
Hi anh,
Em đã gỏ thêm lệnh
Code:
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.102 -j SNAT --to-source 192.168.1.102
nhưng client vẩn ko vô đc.
Thực ra em cũng đã test từng bước như đường đi của dây điện vào bóng đèn. Có nghĩa là em test từng bước ở đây là em sẻ listen trên Web Server xem có gói tin nào đi vào hay chưa? Và nếu đã đi vào đc thì nếu client ko nhận đc response trên trình duyệt có nghĩa là do đầu ra.
Em đã dùng lệnh
Code:
[root@localhost ~]# nc -lvv 10.0.0.102 80
Nhưng vẩn im ắng, cho dù trước đó khi stop iptables thì khi iptables đóng vai trò là client thì dùng lệnh trên bắt đc phần header của gói tin đi vào.
Em cho INPUT policy là DROP có nghĩa là nó sẽ drop hết tất cả ngoại trừ em cụ thể ACCEPT một cái gì đó. Em đã ACCEPT cho request đi đến cổng 80 trên iptables chưa? |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Hỏi về mô hình và iptables |
24/02/2011 17:50:09 (+0700) | #5 | 231835 |
Search_IT
Member
|
0 |
|
|
Joined: 21/02/2011 20:50:49
Messages: 61
Offline
|
|
Ý anh em đã hiểu . Đúng là em chưa cho client vào firewall qua cổng 80.
Quá trình em làm đc tổng hợp lại như sau mà vẩn chưa đc. Mong anh xem hộ em.
Code:
# Reset tất cả các luật trong firewall và đặt chính sách mặc định cho firewall
iptables -F
iptables -X
iptables -Z
iptables -F -t filter
iptables -F -t nat
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# Cho client vào firewall từ cổng 80
iptables -A INPUT -i eth0 -s 192.168.1.101 -d 192.168.1.100 -p tcp --dport 80 -j ACCEPT
# Cho client ra khỏi firewall ở trạng thái đã kết nối
iptables -A OUTPUT -o eth0 -s 192.168.1.100 -d 192.168.1.101 -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
# Rule khi client vào cổng 80 thì sẻ NAT đến webserver đang lắng nghe trên port 80
iptables -t nat -A PREROUTING -i eth0 -s 192.168.1.101 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.102:80
# Khi gói tin đến port 80 của firewall thì sẻ chuyển đến webserver
iptables -t filter -A FORWARD -i eth0 -o eth1 -d 10.0.0.102 -p tcp --dport 80 -j ACCEPT
# Cho phép gói tin đi qua eth0 khi có địa chỉ webserver
iptables -t filter -A FORWARD -o eth0 -s 10.0.0.102 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# Cho phép gói tin đi vào từ eth0 với trạng thái đã kết nối trước đó hoặc mở thêm kết nối hiện tại
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Cho phép gói tin đi ra từ server đến client
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.102 -j SNAT --to-source 192.168.1.101
Khi gỏ xong 1 câu lệnh em đã dùng Wireshark bắt lại quá trình giao tiếp giữa client và Server và đây là 2 files em bắt đc trên Iptables và Webserver khi gỏ lệnh cuối cùng, nhờ anh xem giúp.
http://www.mediafire.com/?06w8jfazjkhkyck |
|
|
|
|
[Question] Hỏi về mô hình và iptables |
25/02/2011 14:56:14 (+0700) | #6 | 231919 |
Search_IT
Member
|
0 |
|
|
Joined: 21/02/2011 20:50:49
Messages: 61
Offline
|
|
Up lên phát. Mọi người xem hộ em |
|
|
|
|
[Question] Hỏi về mô hình và iptables |
25/02/2011 15:18:21 (+0700) | #7 | 231921 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Em chỉ cho phép IP 192.168.1.101 được phép truy cập cổng 80 của 192.168.1.100 (hoặc 10.0.0.102 bên trong) thôi sao? |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Hỏi về mô hình và iptables |
25/02/2011 16:00:42 (+0700) | #8 | 231929 |
Search_IT
Member
|
0 |
|
|
Joined: 21/02/2011 20:50:49
Messages: 61
Offline
|
|
conmale wrote:
Em chỉ cho phép IP 192.168.1.101 được phép truy cập cổng 80 của 192.168.1.100 (hoặc 10.0.0.102 bên trong) thôi sao?
Em tối qua đã gỏ thêm 2 dòng lệnh sau mà vẩn ko đc
Code:
iptables -A INPUT -i eth1 -s 10.0.0.102 -d 10.0.0.100 -p tcp -j ACCEPT
iptables -A OUTPUT -o eth1 -d 10.0.0.102 -s 10.0.0.100 -p tcp -j ACCEPT
Em còn thiếu hay sai gì nhờ anh xem hộ em. |
|
|
|
|
[Question] Hỏi về mô hình và iptables |
25/02/2011 16:04:25 (+0700) | #9 | 231930 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Search_IT wrote:
conmale wrote:
Em chỉ cho phép IP 192.168.1.101 được phép truy cập cổng 80 của 192.168.1.100 (hoặc 10.0.0.102 bên trong) thôi sao?
Em tối qua đã gỏ thêm 2 dòng lệnh sau mà vẩn ko đc
Code:
iptables -A INPUT -i eth1 -s 10.0.0.102 -d 10.0.0.100 -p tcp -j ACCEPT
iptables -A OUTPUT -o eth1 -d 10.0.0.102 -s 10.0.0.100 -p tcp -j ACCEPT
Em còn thiếu hay sai gì nhờ anh xem hộ em.
Em truy cập đến web server đó từ IP nào? |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Hỏi về mô hình và iptables |
25/02/2011 16:19:46 (+0700) | #10 | 231933 |
|
Phó Hồng Tuyết
Member
|
0 |
|
|
Joined: 20/04/2007 20:02:10
Messages: 275
Location: Nơi Sâu Thẳm Tâm Hồn
Offline
|
|
iptables -A INPUT -i eth1 -s 10.0.0.102 -d 10.0.0.100 -p tcp -j ACCEPT
iptables -A OUTPUT -o eth1 -d 10.0.0.102 -s 10.0.0.100 -p tcp -j ACCEPT
nếu client có ip là 10.0.0.x
thì rules chung là
iptables -A INPUT -i eth1 -s 10.0.0.0/24 -d 10.0.0.100 -p tcp -j ACCEPT
iptables -A OUTPUT -o eth1 -d 10.0.0.0/24 -s 10.0.0.100 -p tcp -j ACCEPT
bạn thử xem có hiệu quả không.
nếu không chắc thì thay ip của client bằng any/0
|
|
"Một người thành công không có ý nghĩ đổ thừa thất bại do ...." |
|
|
|
[Question] Hỏi về mô hình và iptables |
25/02/2011 18:37:34 (+0700) | #11 | 231941 |
Search_IT
Member
|
0 |
|
|
Joined: 21/02/2011 20:50:49
Messages: 61
Offline
|
|
|
|
[Question] Hỏi về mô hình và iptables |
26/02/2011 09:54:39 (+0700) | #12 | 231967 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Thử nhóm luật này xem?
Code:
iptables -A INPUT -p tcp -d 192.168.1.100 --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -d 10.0.0.102 --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to 10.0.0.102:80
iptables -t nat -A POSTROUTING -p tcp -d 10.0.0.102 --dport 80 -j SNAT --to-source 10.0.0.100
iptables -A OUTPUT -o eth0 -p tcp -s 192.168.1.100 --sport 80 -d 192.168.1.101/24 -j ACCEPT
|
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Hỏi về mô hình và iptables |
27/02/2011 21:57:49 (+0700) | #13 | 232100 |
Search_IT
Member
|
0 |
|
|
Joined: 21/02/2011 20:50:49
Messages: 61
Offline
|
|
conmale wrote:
Thử nhóm luật này xem?
Code:
iptables -A INPUT -p tcp -d 192.168.1.100 --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -d 10.0.0.102 --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to 10.0.0.102:80
iptables -t nat -A POSTROUTING -p tcp -d 10.0.0.102 --dport 80 -j SNAT --to-source 10.0.0.100
iptables -A OUTPUT -o eth0 -p tcp -s 192.168.1.100 --sport 80 -d 192.168.1.101/24 -j ACCEPT
Hi anh,
Em đã flush hết lệnh và thêm bộ luật anh vào nhưng client vẩn ko vào đc site. Nhìn vào quá trình bắt tay giữa client và server em thấy tình hình cải thiện hơn . Nhìn bộ luật của anh nhìn nó gọn gàng + theo từng bước. Em cảm ơn và mong anh chỉ cho em giải quyết vấn đề này.
Em chụp lại 2 gói tin đi vào từ iptables và webserver mong nó có thêm thông tin cho anh để biết bệnh
Iptables
Webserver
|
|
|
|
|
[Question] Hỏi về mô hình và iptables |
28/02/2011 05:13:59 (+0700) | #14 | 232118 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
10.0.0.102 là một Linux server chạy trên vmware? vmware này được cài ở đâu? Linux server chạy trên vmware đó có iptables rules đang được áp dụng không? |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Hỏi về mô hình và iptables |
28/02/2011 07:42:29 (+0700) | #15 | 232124 |
Search_IT
Member
|
0 |
|
|
Joined: 21/02/2011 20:50:49
Messages: 61
Offline
|
|
conmale wrote:
10.0.0.102 là một Linux server chạy trên vmware? vmware này được cài ở đâu? Linux server chạy trên vmware đó có iptables rules đang được áp dụng không?
Vâng anh, tất cả các máy từ client đến server đều cài trên vmware. Vmware đc cài trên máy thật chạy Win7. Iptables trên WebServer đã stop.
Không biết bệnh gì nữa . |
|
|
|
|
[Question] Hỏi về mô hình và iptables |
28/02/2011 07:51:01 (+0700) | #16 | 232125 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Search_IT wrote:
conmale wrote:
10.0.0.102 là một Linux server chạy trên vmware? vmware này được cài ở đâu? Linux server chạy trên vmware đó có iptables rules đang được áp dụng không?
Vâng anh, tất cả các máy từ client đến server đều cài trên vmware. Vmware đc cài trên máy thật chạy Win7. Iptables trên WebServer đã stop.
Không biết bệnh gì nữa .
Đây có lẽ là vấn đề trên vmware chớ chẳng phải iptables nữa.
Trên screenshot thứ nhì (web) mình có thể thấy rất rõ ở
- packet thứ 8, 10.0.0.100 gởi SYN đến 10.0.0.102 ở cổng 80
- packet thứ 9, 10, 13 và 14, 10.0.0.102 gởi SYN-ACK trả lời
- sau đó không hề thấy 10.0.0.100 động tĩnh gì khác.
Bây giờ em thử từ trên máy web 10.0.0.102 telnet ra một cổng dịch vụ nào đó trên client 192.168.1.101 hoặc từ 10.0.0.102 thừ telnet đến cổng dịch vụ nào đó trên Linux chạy iptables (192.168.1.100) xem có kết quả gì không? Nên nhớ dịch vụ trên 192.168.1.101 và 192.168.1.100 phải có thật chớ không telnet đến một cổng không tồn tại. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Hỏi về mô hình và iptables |
28/02/2011 21:27:23 (+0700) | #17 | 232180 |
nguoixanh
Member
|
0 |
|
|
Joined: 20/03/2010 19:32:23
Messages: 52
Offline
|
|
Hay quá, e cũng gặp trường hợp tương tự. Up lên phát, mong mọi người giải quyết đc vấn đề !!! |
|
|
|
|
[Question] Hỏi về mô hình và iptables |
01/03/2011 10:31:22 (+0700) | #18 | 232207 |
Search_IT
Member
|
0 |
|
|
Joined: 21/02/2011 20:50:49
Messages: 61
Offline
|
|
conmale wrote:
Search_IT wrote:
conmale wrote:
10.0.0.102 là một Linux server chạy trên vmware? vmware này được cài ở đâu? Linux server chạy trên vmware đó có iptables rules đang được áp dụng không?
Vâng anh, tất cả các máy từ client đến server đều cài trên vmware. Vmware đc cài trên máy thật chạy Win7. Iptables trên WebServer đã stop.
Không biết bệnh gì nữa .
Đây có lẽ là vấn đề trên vmware chớ chẳng phải iptables nữa.
Trên screenshot thứ nhì (web) mình có thể thấy rất rõ ở
- packet thứ 8, 10.0.0.100 gởi SYN đến 10.0.0.102 ở cổng 80
- packet thứ 9, 10, 13 và 14, 10.0.0.102 gởi SYN-ACK trả lời
- sau đó không hề thấy 10.0.0.100 động tĩnh gì khác.
Bây giờ em thử từ trên máy web 10.0.0.102 telnet ra một cổng dịch vụ nào đó trên client 192.168.1.101 hoặc từ 10.0.0.102 thừ telnet đến cổng dịch vụ nào đó trên Linux chạy iptables (192.168.1.100) xem có kết quả gì không? Nên nhớ dịch vụ trên 192.168.1.101 và 192.168.1.100 phải có thật chớ không telnet đến một cổng không tồn tại.
Hi anh,
+ Chiều qua em thử telnet từ 10.0.0.102 đến 10.0.0.100 và 192.168.1.100 đều không được mặc dù vẩn chạy dịch vụ đó (80,25).
+ Vấn đề đó em đã cài lại toàn bộ máy ảo từ client đến server nhưng vẩn không cải thiện được tình hình.
+ Em đã gỏ
Code:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
để thử client thì thấy client vô được bình thường.
Trong gói tin em nhìn thấy quá trình "bình thường" đó thì có cả dịch vụ NBNS chạy nữa. Em nghĩ do firewall chặn dịch vụ NBNS này nên nó không "whois" được. Em sẻ kiểm tra lại và sẻ sớm đưa lên kết quả để mọi người xem qua. |
|
|
|
|
[Question] Hỏi về mô hình và iptables |
01/03/2011 11:00:24 (+0700) | #19 | 232212 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Search_IT wrote:
conmale wrote:
Search_IT wrote:
conmale wrote:
10.0.0.102 là một Linux server chạy trên vmware? vmware này được cài ở đâu? Linux server chạy trên vmware đó có iptables rules đang được áp dụng không?
Vâng anh, tất cả các máy từ client đến server đều cài trên vmware. Vmware đc cài trên máy thật chạy Win7. Iptables trên WebServer đã stop.
Không biết bệnh gì nữa .
Đây có lẽ là vấn đề trên vmware chớ chẳng phải iptables nữa.
Trên screenshot thứ nhì (web) mình có thể thấy rất rõ ở
- packet thứ 8, 10.0.0.100 gởi SYN đến 10.0.0.102 ở cổng 80
- packet thứ 9, 10, 13 và 14, 10.0.0.102 gởi SYN-ACK trả lời
- sau đó không hề thấy 10.0.0.100 động tĩnh gì khác.
Bây giờ em thử từ trên máy web 10.0.0.102 telnet ra một cổng dịch vụ nào đó trên client 192.168.1.101 hoặc từ 10.0.0.102 thừ telnet đến cổng dịch vụ nào đó trên Linux chạy iptables (192.168.1.100) xem có kết quả gì không? Nên nhớ dịch vụ trên 192.168.1.101 và 192.168.1.100 phải có thật chớ không telnet đến một cổng không tồn tại.
Hi anh,
+ Chiều qua em thử telnet từ 10.0.0.102 đến 10.0.0.100 và 192.168.1.100 đều không được mặc dù vẩn chạy dịch vụ đó (80,25).
+ Vấn đề đó em đã cài lại toàn bộ máy ảo từ client đến server nhưng vẩn không cải thiện được tình hình.
+ Em đã gỏ
Code:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
để thử client thì thấy client vô được bình thường.
Trong gói tin em nhìn thấy quá trình "bình thường" đó thì có cả dịch vụ NBNS chạy nữa. Em nghĩ do firewall chặn dịch vụ NBNS này nên nó không "whois" được. Em sẻ kiểm tra lại và sẻ sớm đưa lên kết quả để mọi người xem qua.
Cái này chẳng phải firewall gì hết mà là vấn đề network của máy ảo mà thôi. Nếu từ Linux trên máy ảo mà không thể telnet đến 192.168.1.100 hoặc 10.0.0.100 mặc dù iptables trên Linux host này flushed và ACCEPT all thì chắc chắn đây là trở ngại ở cơ chế "bridge" hoặc "nat" giữa Windows 7 và máy ảo Linux. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
|