গতকাল, আমি এখানে একটি প্রশ্ন পোস্ট করেছি তবে আমি মনে করি আমার কথায় যথেষ্ট পরিষ্কার ছিল না। বিটিডাব্লু, এই প্রশ্নটি সদৃশ নয়।
আমার নীচের মতো AWS VPC সেটআপ আছে।
লক্ষ্য / সমস্যা : এসএসএইচ ইন্টারনেট থেকে সার্ভার এ। এবং এটি কাজ করছে না।
সার্ভার এ প্রাইভেট সাবনেটে আছে এবং তাই আমি আমার নেট উদাহরণে আইপ্যাব্যাটেলস নাটিং সক্ষম করতে চাই যাতে আমি সরাসরি ইন্টারনেট থেকে সেরার এ-তে এসএসএস করতে পারি
আমি NAT উদাহরণে কমান্ডের নীচে দৌড়েছি:
NAT# iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to-destination 10.0.1.243:22
আইপি ফরওয়ার্ডিং NAT উদাহরণে সক্ষম করা হয়েছে:
NAT# sysctl -p
net.ipv4.ip_forward = 1
ম্যাসকোরেড NAT সংস্করণে চলছে:
NAT# iptables -t nat -vnL POSTROUTING
Chain POSTROUTING (policy ACCEPT 6 packets, 312 bytes)
pkts bytes target prot opt in out source destination
199 16466 MASQUERADE all -- * eth0 10.0.0.0/16 0.0.0.0/0
এই পরীক্ষার ক্ষেত্রে প্রয়োজনীয় অ্যাক্সেসের অনুমতি দেওয়ার জন্য AWS সুরক্ষা গোষ্ঠীগুলি সূক্ষ্মভাবে কনফিগার করা হয়েছে।
সমস্যা সমাধান:
আমি নেট থেকে সার্ভার এ পোর্ট 22 এ টেলনেট করতে পারি So তাই অ্যাক্সেস ভাল।
আমি যখন telnet 54.213.116.251 2222
আমার ল্যাপটপে চালাই , আমি নীচে টিসিপিডম্পে প্রবেশের নীচে দেখতে পাচ্ছি:
NAT# tcpdump -n -i eth0 dst 10.0.1.243 and port 22
09:59:13.738316 IP xxx.xxx.xxx.xxx.51709 > 10.0.1.243.ssh: Flags [S], seq 1868541786, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0
09:59:16.737009 IP xxx.xxx.xxx.xxx.51709 > 10.0.1.243.ssh: Flags [S], seq 1868541786, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0
09:59:22.775567 IP xxx.xxx.xxx.xxx.51709 > 10.0.1.243.ssh: Flags [S], seq 1868541786, win 8192, options [mss 1460,nop,nop,sackOK], length 0
সুতরাং এর অর্থ iptables প্যাকেটগুলিতে রাউটিং করছে 10.0.1.243
। (বিটিডাব্লু, xxx.xxx.xxx.xxx
আমার ল্যাপটপের সর্বজনীন আইপি ঠিকানা)
তবে আমি যখন সার্ভার এ-তে টিসিপিডম্প চালনা করি, তখন 10.0.0.54
NAT এর অভ্যন্তরীণ / প্রাইভেট আইপি অ্যাড্রেস থেকে কিছু আসে না আমি দেখতে পাই না ( এবং আমি মনে করি এটিই সমস্যা ):
Server A# tcpdump -n src 10.0.0.54
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
তবে আমি যদি NAT উদাহরণ থেকে সার্ভার এ-তে টেলনেট করি, আমি সার্ভার এ-তে tcpdump এ ভাল জিনিস দেখতে পাচ্ছি ( এর অর্থ, আমার সামগ্রিক PREROUTING
বিধিটি প্রত্যাশার মতো কাজ করছে না ):
Server A# tcpdump -n src 10.0.0.54
05:01:47.500080 IP 10.0.0.54.44627 > 10.0.1.243.ssh: Flags [S], seq 2862522431, win 14600, options [mss 1460,sackOK,TS val 3013083 ecr 0,nop,wscale 7], length 0
05:01:47.501601 IP 10.0.0.54.44627 > 10.0.1.243.ssh: Flags [.], ack 760676524, win 115, options [nop,nop,TS val 3013083 ecr 12074896], length 0
05:01:47.535720 IP 10.0.0.54.44627 > 10.0.1.243.ssh: Flags [.], ack 22, win 115, options [nop,nop,TS val 3013092 ecr 12074928], length 0
উপসংহার:
NAT এ tcpdump আউটপুট থেকে, মনে হচ্ছে Iptables আমার প্যাকেটগুলি সূক্ষ্মভাবে ফরওয়ার্ড করছে।
সার্ভার এ-তে টিসিপি ডাম্প থেকে আমার NAT থেকে সার্ভার এ-তে ভাল সংযোগ রয়েছে have
তবে শেষ থেকে শেষ পর্যন্ত, আমি আমার ল্যাপটপ থেকে সার্ভার এ এর সাথে সংযোগ করতে সক্ষম নই।
( BTW, আমি, SSH টানেল এবং অন্যান্য ভাল জিনিস জানি। কিন্তু আমি শুধুমাত্র iptables এই আমাকে সাহায্য করতে চাই। )
Disabled
NAT উদাহরণের জন্য।