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:
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