bash read file line by line

От няколко дни правя firewall за офиса ми, מכיוון שעד כה השתמשתי בהתחפשות IP ונאלצתי להוציא הכל דרך SNAT, עמדתי מבולבלת и פשוט הייתי חייבת לשכתב את כל היגיון הנתב. כמו שאני אוהב לומר אמר, כתבתי את זה לחומת האש, הכל עובד בסדר, עכשיו הגיע הזמן לחתוך את היציאות של ה- IP שיש להם גישה ואשר אין. הרגשתי חולה שהבנתי שאני צריך לכתוב עליו 40 כללי גישה, זה רק העתקה ופסיט הוא לא חווה. ואז המתכנת שדיבר, טוב, רק כדי להכין אותם. הכל היה ברור – הרעיון ב 2 отделни фаила пиша портове и ip-та изчитат се създават се правила за разрешаване и всичко друго е изрязано. Самия код се получи достатънъкчак неочаквано малък

##Allow and DROP ip and ports
while read PORT
do
while read IP
do
$IPT -A INPUT -p tcp -s $IP --dport $PORT -j ACCEPT
done < /etc/firewall/allow_ip
$IPT -A INPUT -p tcp --dport $PORT -j DROP
done < /etc/firewall/ports

Скриптчето е адски ясно цикъл в цикъла първия чете от /etc/firewall/ports a втория от /etc/firewall/allow_ip и се създават правилта 🙂

ps Заради синктактичното оцветяване не се показва корекно знака < а се показва html еквивалента му &lt;

Leave a Reply

Your email address will not be published. Required fields are marked *

Anti SPAM *