আমি কেভিএম / কিউমু দিয়ে কিছু লিনাক্স অতিথিকে ভার্চুয়ালাইজ করতে একটি ডেভলপমেন্ট সার্ভারে একটি ন্যূনতম CentOS 7 সংস্করণ ইনস্টল করেছি।
firewalld
আমি ইনস্টল iptables-service
ও না করে iptables ব্যবহার করার জন্য :
systemctl stop firewalld
systemctl mask firewalld
systemctl enable iptables
systemctl start iptables
সেলিনাক্স সম্পাদনা করে অক্ষম করা হয়েছে /etc/sysconfig/selinux
।
Iptables জন্য আমার নিয়ম নিম্নলিখিত:
iptables -Z
iptables -F
iptables -X
iptables -t nat -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -o enp6s0 -j MASQUERADE
iptables -A FORWARD -i enp6s0 -o virbr0 -j ACCEPT
এখন আমি নিম্নলিখিত কমান্ড দিয়ে আমার সেটিংস সংরক্ষণ করি:
iptables-save > /etc/sysconfig/iptables
আমার iptables-file
চেহারা:
# Generated by iptables-save v1.4.21 on Thu Aug 20 10:46:40 2015
*mangle
:PREROUTING ACCEPT [16736:10889078]
:INPUT ACCEPT [1063:106860]
:FORWARD ACCEPT [15679:10784186]
:OUTPUT ACCEPT [570:71275]
:POSTROUTING ACCEPT [15728:10809742]
-A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT
# Completed on Thu Aug 20 10:46:40 2015
# Generated by iptables-save v1.4.21 on Thu Aug 20 10:46:40 2015
*filter
:INPUT ACCEPT [868:81772]
:FORWARD ACCEPT [8328:7311589]
:OUTPUT ACCEPT [233:32016]
-A FORWARD -i enp6s0 -o virbr0 -j ACCEPT
COMMIT
# Completed on Thu Aug 20 10:46:40 2015
# Generated by iptables-save v1.4.21 on Thu Aug 20 10:46:40 2015
*nat
:PREROUTING ACCEPT [1308:86998]
:INPUT ACCEPT [77:12475]
:OUTPUT ACCEPT [1:72]
:POSTROUTING ACCEPT [1228:74319]
-A POSTROUTING -o enp6s0 -j MASQUERADE
COMMIT
# Completed on Thu Aug 20 10:46:40 2015
আমার নিয়মগুলি আপাতত সঠিক কিনা তা দেখার জন্য একটি দ্রুত চেক:
[root@dev1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
তবে সার্ভারটি পুনরায় বুট করার পরে iptables নিয়মগুলি দেখতে পাওয়া যায়:
[root@dev1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:bootps
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere 10.0.1.0/24 ctstate RELATED,ESTABLISHED
ACCEPT all -- 10.0.1.0/24 anywhere
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:bootpc
অন্যান্য বিধিগুলি কোথা থেকে এসেছে তা আমি বুঝতে পারি না।
কল iptables-restore -c /etc/sysconfig/iptables
করার সময় প্রত্যাশিত বিধিগুলি প্রদর্শিত হয়।
দেখে মনে হয় যে সংরক্ষিত নিয়মগুলি বুট-সময় লোড হয় না বা "ডিফল্ট" -rulesগুলি ফ্লাশ হয় না বা যা কিছু।
এখানে সমস্যা কি ??? আমি ধীরে ধীরে ধীরে ধীরে চুল পাচ্ছি ...
আপনার দ্রুত প্রতিক্রিয়া জন্য ধন্যবাদ :)
উপরে উল্লিখিত হিসাবে iptables- পরিষেবাগুলি আমার দ্বারা ইনস্টল করা হয়েছিল:
[root@dev1 ~]# rpm -aq iptables-services
iptables-services-1.4.21-13.el7.x86_64
systemctl enable iptables.service
ব্যবহারের পরিবর্তে পরিষেবাটি সক্ষম করা systemctl enable iptables
কোনও তাত্পর্যপূর্ণ বলে মনে হচ্ছে কারণ একই পরিষেবা ফাইলটি লিঙ্কযুক্ত:
[root@dev1 ~]# systemctl disable iptables
rm '/etc/systemd/system/basic.target.wants/iptables.service'
[root@dev1 ~]# systemctl enable iptables.service
ln -s '/usr/lib/systemd/system/iptables.service' '/etc/systemd/system/basic.target.wants/iptables.service'
এটি কল করার পরে iptables ফাইলের সামগ্রী
/usr/libexec/iptables/iptables.init save
[root@develcluster1 ~]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.21 on Fri Aug 21 14:34:04 2015
*nat
:PREROUTING ACCEPT [351490:22546787]
:INPUT ACCEPT [15751:2400243]
:OUTPUT ACCEPT [324:21186]
:POSTROUTING ACCEPT [304860:18293418]
-A POSTROUTING -o enp6s0 -j MASQUERADE
COMMIT
# Completed on Fri Aug 21 14:34:04 2015
# Generated by iptables-save v1.4.21 on Fri Aug 21 14:34:04 2015
*filter
:INPUT ACCEPT [505048:69178501]
:FORWARD ACCEPT [55815086:22035726185]
:OUTPUT ACCEPT [325986:56595531]
-A FORWARD -i enp6s0 -o virbr0 -j ACCEPT
COMMIT
# Completed on Fri Aug 21 14:34:04 2015
# Generated by iptables-save v1.4.21 on Fri Aug 21 14:34:04 2015
*mangle
:PREROUTING ACCEPT [109215513:66867793592]
:INPUT ACCEPT [505243:69203589]
:FORWARD ACCEPT [108710264:66798590873]
:OUTPUT ACCEPT [326323:56634790]
:POSTROUTING ACCEPT [109036066:66855179944]
-A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT
# Completed on Fri Aug 21 14:34:04 2015
iptables -L
আমার সংরক্ষিত নিয়মগুলি না দেখানোর জন্য একটি কল পুনরায় বুট করার পরে :
[root@dev1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:bootps
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere 10.0.1.0/24 ctstate RELATED,ESTABLISHED
ACCEPT all -- 10.0.1.0/24 anywhere
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:bootpc
আমি মৌলিক কিছু ভুল করছি। তবে আমি যে প্রতিটি থ্রেড পড়েছি তা একইভাবে করে এবং এটি কাজ করা উচিত।
আপনার যদি আরও তথ্যের প্রয়োজন হয় তবে আমাকে জানান।
এদিকে, আমি একটি ছোট স্ক্রিপ্ট কল করে আমাকে সাহায্য করেছি যা প্রতিটি রিবুটের পরে আমাকে অবশ্যই কল করতে হবে।
#!/bin/sh
iptables -Z
iptables -F
iptables -X
iptables -t nat -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -o enp6s0 -j MASQUERADE
iptables -A FORWARD -i enp6s0 -o virbr0 -j ACCEPT
iptables --flush
iptables-restore -c /etc/sysconfig/iptables
এটি সেক্সি নয় তবে এ পর্যন্ত কাজ করে। তবে চূড়ান্ত সমাধান হতে পারেনি।
service stop|mask firewalld
)