อนุญาตการรับส่งข้อมูลไปยัง / จาก IP เฉพาะที่มี iptables


25

ฉันต้องการอนุญาตการรับส่งข้อมูลทั้งหมดไปยังไอพีที่เฉพาะเจาะจงโดยใช้ iptables

ลองโดยการเพิ่มบรรทัด:

/sbin/iptables -A INPUT -p tcp -s XXX.XXX.XXX.XXX -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -s  XXX.XXX.XXX.XXX -j ACCEPT

... แต่ยังคงไม่สามารถเข้าถึงรีโมตไอพี (XXX.XXX.XXX.XXX) ได้

คำแนะนำใด ๆ?

ขอบคุณมาก!

แก้ไข:ด้วยคำแนะนำของคุณฉันได้เปลี่ยน iptables ยังฉันไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล สถานะ iptables มีลักษณะดังนี้:

[root@myserver ~]# /etc/init.d/iptables status
Table: nat
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         

Table: mangle
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination         

Table: filter
Chain INPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
2    REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:!0x17/0x02 reject-with tcp-reset 
3    DROP       all  --  0.0.0.0/0            0.0.0.0/0           state INVALID 
4    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
5    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpts:1024:65535 
6    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8443 
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3718 
8    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:88 
9    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:88 
10   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8080 
11   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:8080 
12   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:873 
13   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:873 
14   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8880 
15   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 
16   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443 
17   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:21 
18   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:20 
19   ACCEPT     tcp  --  XXX.XXX.XXX.XXX      0.0.0.0/0           
20   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22 
21   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:587 
22   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:25 
23   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:465 
24   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:110 
25   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:995 
26   DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:143 
27   DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:993 
28   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:106 
29   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3306 
30   DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:5432 
31   DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:9008 
32   DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:9080 
33   DROP       udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:137 
34   DROP       udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:138 
35   DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:139 
36   DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:445 
37   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:1194 
38   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53 
39   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:53 
40   ACCEPT     icmp --  207.250.234.40       0.0.0.0/0           icmp type 8 code 0 
41   DROP       icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 8 code 0 
42   DROP       all  --  0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
2    REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:!0x17/0x02 reject-with tcp-reset 
3    DROP       all  --  0.0.0.0/0            0.0.0.0/0           state INVALID 
4    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
5    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8443 
6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3718 
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:88 
8    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:88 
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8080 
10   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:8080 
11   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:873 
12   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:873 
13   DROP       all  --  0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
2    REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:!0x17/0x02 reject-with tcp-reset 
3    DROP       all  --  0.0.0.0/0            0.0.0.0/0           state INVALID 
4    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
5    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpts:1024:65535 
6    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8443 
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3718 
8    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:21 
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:20 
10   ACCEPT     tcp  --  0.0.0.0/0            XXX.XXX.XXX.XXX      
11   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:88 
12   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:88 
13   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8080 
14   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:8080 
15   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:873 
16   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:873 
17   ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           

[root@myserver ~]# 

ฉันคิดว่าถ้าคุณหยุดบริการ IPtables อย่างสมบูรณ์คุณจะสามารถเชื่อมต่อกับไซต์ได้ใช่ไหม
David Z

ตรวจสอบคำตอบถ้าเป็นการตอบสนองที่ดี @ user48058
Daniel Díaz

คำตอบ:


33

ฉันคิดว่าคุณต้องเปลี่ยนหนึ่งในแฟล็ก -s ของคุณเป็นแฟล็ก -d หากที่อยู่ XXX.XXX.XXX.XXX ของคุณอยู่นอกไฟร์วอลล์ควรเป็น

/sbin/iptables -A INPUT -p tcp -s XXX.XXX.XXX.XXX -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -d  XXX.XXX.XXX.XXX -j ACCEPT

มิฉะนั้นวิธีอื่น ๆ

แก้ไข:

และรีเฟรช iptables:

ขึ้นอยู่กับการกำหนดค่าของคุณ:

/etc/init.d/iptables restart  

/etc/init.d/networking restart  

/etc/init.d/firewall restart

iptables ต้องการการรีสตาร์ทบริการหรือไม่ ในกรณีของฉัน (Ubuntu 19.04) มันไม่จำเป็นต้องทำเพียงแค่iptables -Aและกฎมีผล
transang


10

-Aผนวก สิ่งนี้จะเพิ่มกฎในตอนท้ายของรายการกฎดังนั้นการเชื่อมต่อขาเข้าอาจถูกทิ้งโดยกฎที่สูงกว่าในรายการ

เพื่อให้แน่ใจว่ายอมรับการเชื่อมต่อทั้งหมดจากหรือไปยังที่อยู่ IP ให้เปลี่ยน-Aการ-Iแทรกกฎที่ด้านบนของรายการ:

iptables -I INPUT -p tcp -s XXX.XXX.XXX.XXX -j ACCEPT
iptables -I OUTPUT -p tcp -d  XXX.XXX.XXX.XXX -j ACCEPT`

2

ส่วนที่เหลือของชุดกฎของคุณเป็นอย่างไร -Aผนวกดังนั้นถ้าคุณมี-p tcp -s xxx.xxx.xxx.xxx -j REJECTหรือ (มีแนวโน้มมากขึ้น) -j REJECTในตอนท้ายของรายการก่อนที่คุณจะทำเช่นนั้นมันจะไม่ทำอะไรที่ดี


ยังไม่ทำงานคุณช่วยตรวจสอบสถานะ iptables ของฉันฉันแก้ไขโพสต์เฉพาะ ขอบคุณมาก!
user48058

ทำไมคุณถึงทิ้ง "tcp dpts: 1024: 65535" ใน INPUT และ OUTPUT นั่นคือสาเหตุของปัญหาของคุณฉันแน่ใจ คุณสามารถตรวจสอบได้โดยดูจำนวนการเข้าชม ( iptables -L -n -v) ทำสิ่งที่ไม่ทำงานจากนั้นดูการนับอีกครั้ง
Bill Weiss

เลื่อนระดับ-p tcp -s XXX.XXX.XXX.XXX -j ACCEPTขึ้นแล้วลองอีกครั้ง ลอง/sbin/iptables -I INPUT 1 -p tcp -s XXX.XXX.XXX.XXX -j ACCEPTและ/sbin/iptables -I OUTPUT 1 -p tcp -s XXX.XXX.XXX.XXX -j ACCEPT
บิลไวส์

ทำไม "tcp dpts: 1024: 65535" ใน INPUT และ OUTPUT นั่นคือสาเหตุของปัญหาของคุณฉันสามารถเดิมพันได้
นักวิ่งสุทธิ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.