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
  1. Połączenia na port 113 mają dostawać natychmiastową odpowiedź icmp-port-unreachable.
  2. Firewall musi „rozumieć” połączenia pasywnego ftp.
  3. 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
 
praktyczne_aspekty_sieci_komputerowych/lista6.txt · ostatnio zmienione: 2009/12/08 08:49 przez d
 
Wszystkie treści w tym wiki, którym nie przyporządkowano licencji, podlegają licencji:MIT License
Recent changes RSS feed