انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید




نویسنده موضوع: یه مشکل با iptables (حل شد)  (دفعات بازدید: 3548 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین netsaba

  • Sr. Member
  • *
  • ارسال: 310
یه مشکل با iptables (حل شد)
« : 19 دی 1387، 09:33 ق‌ظ »
به نام خدا
سلام
من روی سیستمم یه اسکویید نصبیدم.
حال می خواهم سیستم به صورت روتر عمل کند اینطور که همه از طوی اسکویید رد شوند.
برای این کار من اومدم اول این مسیر و ipforward رو فعال کردم /etc/sysctl.conf  بعد رفتم توی این فایل و این رو هم یک کردم proc/sys/net/ipv4/ip_forward  و بعد از این دستور استفاده کردم

iptables -t nat -A PREROUTING -s 77.237.172.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
و بعد iptables  رو save  کردم.
تا اینجا همه چیز درست بود و به هر سیستم که gateway رو سیستم اوبنتو می دادم درست بود و همه از تو اسکویید رد می شدند.
نکته مهم: اگر شما tracert بکنید باید اولین ip رو سیستم اسکویید نشون بده

تاکید می کنم همه چیز درست بود.

تا اینکه من سیستم رو خاموش کردم و دفعه بعد که اومدم به یک چیز عجیب برخوردم و اون اینکه :
سیستم داشت به صورت bridge عمل می کرد چون من وقتی tracert  می گرفتم رو کلاینت دقیقا ip بعد از سرور منو نشون می داد یعنی روتر بعدی یعنی ipforward کار میکرد ولی iptables نه
من همه چیز رو چک کردم از اول درست بود نمی دونم چرا اینطور شد
« آخرین ویرایش: 19 دی 1387، 03:32 ب‌ظ توسط netsaba »

آفلاین yunas

  • Full Member
  • *
  • ارسال: 135
  • جنسیت : پسر
    • دست نوشته های یک عشق کامپیوتر
پاسخ به: یه مشکل با iptables
« پاسخ #1 : 19 دی 1387، 10:28 ق‌ظ »
بعد از ریست این اتفاق افتاد ؟ و قبل از ریست همه چیز درست بود؟
زنجیر های IPTable رو دقیقا چک کن شاید یه قانون قبل از قانون تو وجود داره و همه چیز رو پاس میده یا یه نرم فزار رو سیستمت برای فایروال قانون خودش رو تعریف میکنه... :o
بهترین حالت اینه که یه بار کلا iptable رو drop کنی و بعد کانفیگ کنی...

آفلاین کرگدن

  • High Hero Member
  • *
  • ارسال: 1769
  • جنسیت : پسر
پاسخ به: یه مشکل با iptables
« پاسخ #2 : 19 دی 1387، 11:10 ق‌ظ »
درود

اگر ممکنه خروجی این رو بذارید
iptables -t nat -n -L
« آخرین ویرایش: 19 دی 1387، 11:14 ق‌ظ توسط کرگدن »

 Vaio-VPCCW - core i7 -Nvidia GT320M -4GB -OS Fedora 20/ kde 4.12
Vbox: Centos 6.4 (server) / Archlinux

آفلاین netsaba

  • Sr. Member
  • *
  • ارسال: 310
پاسخ به: یه مشکل با iptables
« پاسخ #3 : 19 دی 1387، 01:21 ب‌ظ »
به نام خدا
سلام

نقل‌قول
گر ممکنه خروجی این رو بذارید
کد:

iptables -t nat -n -L


Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

نقل‌قول
زنجیر های IPTable رو دقیقا چک کن شاید یه قانون قبل از قانون تو وجود داره و همه چیز رو پاس میده یا یه نرم فزار رو سیستمت برای فایروال قانون خودش رو تعریف میکنه... Shocked
بهترین حالت اینه که یه بار کلا iptable رو drop کنی و بعد کانفیگ کنی...

من تازه اینو نصبیدم فکر نمی کنم چیزی مثل firewall روش نصب باشه تازه این کار می کرد
من با چه دستوری iptables رو کلا drop کنم و بعد کانفیگ
البته من از این دستور برای پاک کردن اون استفاده کردم  iptables -F

آفلاین کرگدن

  • High Hero Member
  • *
  • ارسال: 1769
  • جنسیت : پسر
پاسخ به: یه مشکل با iptables
« پاسخ #4 : 19 دی 1387، 01:38 ب‌ظ »
خب مشکل شما اینه که در proc این رو اضافه کردید

       The  proc  file system is a pseudo-file system which is used as an interface to kernel data structures.  It is commonly mounted at /proc.  Most of it
       is read-only, but some files allow kernel variables to be changed.

با یه ریست از بین میره :)
cat /proc/sys/net/ipv4/ip_forwardبه طور منطقی نباید chain اتون توش  باشه :)

برای همین هم هست که جدول nat اتون خالیه

در خود شل اون chain رو بزنید
از iptables-save , iptables-restore هم می تونید برای نگهداری chain ها استفاده کنید :)

 Vaio-VPCCW - core i7 -Nvidia GT320M -4GB -OS Fedora 20/ kde 4.12
Vbox: Centos 6.4 (server) / Archlinux

آفلاین netsaba

  • Sr. Member
  • *
  • ارسال: 310
پاسخ به: یه مشکل با iptables
« پاسخ #5 : 19 دی 1387، 02:09 ب‌ظ »
به نام خدا
سلام
شرمنده من درست متوجه نشدم
یعنی من تو proc فایل ip_forward رو یک ندم؟
در واقع من باید چه کار کنم؟

آفلاین کرگدن

  • High Hero Member
  • *
  • ارسال: 1769
  • جنسیت : پسر
پاسخ به: یه مشکل با iptables
« پاسخ #6 : 19 دی 1387، 02:25 ب‌ظ »
به نام خدا
سلام
شرمنده من درست متوجه نشدم
یعنی من تو proc فایل ip_forward رو یک ندم؟
در واقع من باید چه کار کنم؟


ببخشید من اشتباه برداشت کرده بودم :)
کار شما درست بوده ( من فکر کردم در proc تغییر دیگه ای دادید )

اگر مشکلتون فقط با save کردن هست
مثل اینکه مشکل networkmanager اوبونتو هست
باید در یک فایل تنظیمات رو set کنید و وقتی سیستم بالا میاد اون ها رو در iptables restore کنید
در howto زیر گفته شده
https://help.ubuntu.com/community/IptablesHowTo
از قسمت
Configuration on startup
به بعد

 Vaio-VPCCW - core i7 -Nvidia GT320M -4GB -OS Fedora 20/ kde 4.12
Vbox: Centos 6.4 (server) / Archlinux

آفلاین netsaba

  • Sr. Member
  • *
  • ارسال: 310
پاسخ به: یه مشکل با iptables
« پاسخ #7 : 19 دی 1387، 03:14 ب‌ظ »
به نام خدا
سلام
الان مشکل من حتی با save کردن اون هم نیست چرا که وقتی من دستور iptable رو می زنم همون موقع باید قاعدتا عمل کند کمااینکه برای بار اول هم عمل کرد.

ببیند این طور که من متوجه شدم مشکل من باید از iptables  باشد. چرا که وقتی من کلا دستور iptables  رو پاک می کنم
# iptables -F
# iptables -X
# iptables -Z

و اینها رو هم درست می کنم
نقل‌قول
ipforward رو فعال کردم /etc/sysctl.conf  بعد رفتم توی این فایل و این رو هم یک کردم proc/sys/net/ipv4/ip_forward

سیستم کلاینت ip  سرور رو به صورت gateway قبول کرده ولی همون bridge مانند
این نشون میده iptables  از کار افتاده؟

آفلاین netsaba

  • Sr. Member
  • *
  • ارسال: 310
پاسخ به: یه مشکل با iptables
« پاسخ #8 : 19 دی 1387، 03:31 ب‌ظ »
 به نام خدا
سلام
مشکل من حل شد
نمی دونم چطوری  فقط آخرین کارهایی رو کردم رو می نویسم

اول همه رو یک بار دیگه پاک کردم

# iptables -F
# iptables -X
# iptables -Z

بعد یکبار دیگه دستور iptables رو زدم
و بعد اونو save  کردم

iptables-save

بعد این مسیر و ipforward رو فعال کردم /etc/sysctl.conf  بعد رفتم توی این فایل و این رو هم یک کردم proc/sys/net/ipv4/ip_forward

حالا دیگه reset و خاموش و روشن هم می کنم مشکلی نداره شکر خدا

از همه ممنون

آفلاین حامد مهدوی

  • Newbie
  • *
  • ارسال: 11
پاسخ به: یه مشکل با iptables (حل شد)
« پاسخ #9 : 29 دی 1387، 12:57 ب‌ظ »
#########firewall.sh##########
# squid server IP
SQUID_SERVER="192.168.0.1"
# Interface connected to Internet
INTERNET="eth1"
# Interface connected to LAN
LAN_IN="eth0"
# Squid port
SQUID_PORT="3128"
# DO NOT MODIFY BELOW
# Clean old firewall
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# Load IPTABLES modules for NAT and IP conntrack support
modprobe ip_conntrack
modprobe ip_conntrack_ftp
# For win xp ftp client
#modprobe ip_nat_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward
# Setting default filter policy
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
# Unlimited access to loop back
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Allow UDP, DNS and Passive FTP
iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT
# set this system as a router for Rest of LAN
iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE
iptables --append FORWARD --in-interface $LAN_IN -j ACCEPT
# unlimited access to LAN
iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables -A OUTPUT -o $LAN_IN -j ACCEPT
# DNAT port 80 request comming from LAN systems to squid 3128 ($SQUID_PORT) aka transparent proxy
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT
# if it is same system
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT
# DROP everything and Log it
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP