====== Praktyczne aspekty sieci komputerowych - Lista 6. ====== 1. Za pomocą iptables udostępnić sieć komputerom w podsieci 172.31.31.0/24 podłączonym do jednego z interfejsów sieciowych, używając translacji adresów na zewnęczny adres w sieci podłączonej innym interfejsem (chodzi o nat źródłowy). Co byś zrobił(a) gdyby adres zewnętrzny był zmienny? (1p) iptables –t nat –A POSTROUTING –s 172.31.31.0/24 -o eth1 –j MASQUERADE 2. Używając iptables skonfiguruj firewall typu stateful, który przepuszcza: * połączenia nawiązane oraz będące odpowiedzią na ruch pochodzący z wewnątrz * połączenia na port 80 * połaczenia na port 222 * żądania icmp echo ale tylko jedno na sekundę * porty od 2000:3000 - Połączenia na port 113 mają dostawać natychmiastową odpowiedź icmp-port-unreachable. - Firewall musi „rozumieć” połączenia pasywnego ftp. - Pozostałe porty mają całkowicie odrzucać połączenia. (4p) iptables -P OUTPUT DENY iptables -m --state ESTABLISHED -j ACCEPT iptables -p tcp -dport 80,222 -j ACCEPT iptables –p icmp –icmp-type echo-request -m limit --limit 1/s iptables -p tcp -dport 2000:3000 -j ACCEPT iptables -p udp -j REJECT --reject-with icmp-port-unreachable iptables -p tcp -j REJECT --reject-with icmp-port-unreachable modprobe ip_conntrack_ftp iptables -A FORWARD -m state NEW -p tcp --dport 21 -j ACCEPT iptables -p tcp -j DROP iptables -p udp -j DROP 3. W tak skonfigurowanej sieci przekieruj port zewnętrzny 222 na wybrany komputer sieci wewnętrznej (172.31.31.0/24), port 22. Zewnętrzny port 80 na taki sam port tego komputera w sieci wewnętrznej. (1p) iptables -A INPUT -p tcp -m state --state NEW --dport 80 -i eth1 -j ACCEPT iptables -A INPUT -p tcp -m state --state NEW --dport 222 -i eth1 -j ACCEPT iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j DNAT --to 172.31.31.123:80 iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 222 -j DNAT --to 172.31.31.123:22 4. Za pomocą iptables spowoduj by wpisanie w przeglądarce na komputerze wewnętrznym adresu http://www.google.com powodowało wyświetlenie strony http://www.wolframalpha.com. (1p) iptables -t nat -A PREROUTING -d 74.125.39.104 -p tcp --dport 80 -j DNAT --to 140.177.205.123 iptables -t nat -A PREROUTING -d 74.125.39.105 -p tcp --dport 80 -j DNAT --to 140.177.205.123 iptables -t nat -A PREROUTING -d 74.125.39.106 -p tcp --dport 80 -j DNAT --to 140.177.205.123 iptables -t nat -A PREROUTING -d 74.125.39.147 -p tcp --dport 80 -j DNAT --to 140.177.205.123 iptables -t nat -A PREROUTING -d 74.125.39.99 -p tcp --dport 80 -j DNAT --to 140.177.205.123 iptables -t nat -A PREROUTING -d 74.125.39.103 -p tcp --dport 80 -j DNAT --to 140.177.205.123 5. Przekieruj wszystkie maile wysyłane z sieci wewnętrznej przy użyciu serwera SMTP na serwer smtp zainstalowany na routerze (nie trzeba instalować samego serwera). (2p) iptables -t nat -A PREROUTING -p tcp --dport smtp -j DNAT --to 127.0.0.1 6. (ping fun) Napisz skrypt, który co sekundę zmienia odpowiedź serwera na żądania icmp echo. (2p) while true do for I in icmp-port-unreachable icmp-net-unreachable icmp-host-unreachable icmp-proto-unreachable icmp-net-prohibited icmp-host-prohibited echo-reply do iptables -A INPUT –p icmp –icmp-type echo-request --reject-with $I sleep 1 done done 7. Jeden z użytkowników Twojego serwera jest podejrzany o sterowanie botnetem zarządzanym z IRC-a. Zaloguj wszystkie pakiety przesyłane do serwerów IRC pochodzące od tego użytkownika. (2p) iptables -A OUTPUT -m owner --uid-owner l33thaxorz -p tcp –-dport 6666:6669 -j LOG 8. W Twojej sieci wewnętrznej jeden z komputerów „nie ma internetu”. Odkryłeś(aś), że Twój operator blokuje pakiety z TTL < 64. Napraw to za pomocą iptables. (2p) iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-set 64 9. Za pomocą iptables zabroń komputerowi o adresie MAC 00:ca:fe:ba:be:00 możliwość przesyłania pakietów na port 80 mniejszych niż 50 i większych niż 1000 bajtów, ale tylko w piątki jeśli jest 13 dzień miesiąca. (2p). iptables -A FORWARD -m mac --mac-source 00:ca:fe:ba:be:00 -p tcp --dport 80 -m length --length ! 50:1000 -m time --monthdays 13 --weekdays Fri -j DROP 10. Posiadasz łącze (x)dsl. W Twojej sieci wewnętrznej komputery mają problemy z internetem. Objawy: nie działają niektóre strony. Pingi działają prawidłowo. Na samym routerze wszystko działa prawidłowo. Napraw to za pomocą iptables. (4p) 11. Za pomocą programu ip z pakietu iproute2 dodaj dodatkowy adres (alias) do wybranego interfejsu. (1p) ip addr add 1.2.3.4/24 brd + dev eth0 12. Za pomocą programu ip ustaw statyczną trasę do sieci 1.2.0.0/16 przez router 1.1.1.1. (1p) ip route add 1.2.0.0/16 via 1.1.1.1 {{tag>[listy_zadan]}}