Week12
Week12, 12/6 LSA
====
- NAT VM的網絡在本機(自己的電腦)的後面
- bridge VM的網絡會跟本機的網路同層
如果拿不到ip (bridge)
:::warning
/etc/network/interfaces
auto <網卡名稱> iface <網卡名稱> inet dhcp
:::
sudo ifup <網卡名稱>
有關 SNAT / DNAT / MASQUERADE 的愛恨情愁,請參考這兩篇文章:
- https://read-and-thinking.blogspot.com/2009/06/iptablessnatmasquerade.html
- http://linux.vbird.org/linux_server/0250simple_firewall.php#nat_what
去年考試的大抄(題目類似但不同)
IPtables
你也可以寫到設定檔,讓下次開機繼續當router。/etc/sysctl.conf:net.ipv4.ip_forward = 1 # 把ip forward功能打開sysctl -p /etc/sysctl.conf # 使設定檔生效#sudo sh ip.sh#Environment :#BBI ->(enp0s3)) U1 (enp0s8)[samba/nginx/ssh:2200]-> U2[FTP/drupal/ssh:22]#清除所有規則iptables -Fiptables -Xiptables -F -t mangleiptables -t mangle -Xiptables -F -t natiptables -t nat -X#設定政策iptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD ACCEPT#信任本機iptables -A INPUT -i lo -j ACCEPT#本機向外封包可以回家iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT#BBI can ssh to U1iptables -A INPUT -i enp0s3 -p tcp -d 10.105.21.213 --dport 22 -j ACCEPT#samba#port 445 is for Windowsiptables -A INPUT -i enp0s3 -p tcp -d 10.105.21.213 --dport 139 -j ACCEPTiptables -A INPUT -i enp0s3 -p tcp -d 10.105.21.213 --dport 445 -j ACCEPT#BBI可連nginxiptables -t nat -A PREROUTING -i enp0s3 -p tcp -d 10.32.20.68 --dport 80 -j DNAT --to-destination 10.0.2.15:80iptables#FTP serveriptables -t nat -A PREROUTING -i enp0s3 -p tcp -d 10.32.20.68 --dport 21 -j DNAT --to-destination 10.0.2.15:21iptalbles -A OUTPUT -o enp0s3 -j ACCEPT#網外可ssh進U2iptables -t nat -A PREROUTING -i enp0s3 -p tcp -d 10.32.20.68 --dport 2200 -j DNAT --to-destination 10.0.2.15:22iptables -t nat -A POSTROUTING -d 10.0.2.15 -o enp0s8 -j MASQUERADE#FTPiptables -t nat -A PREROUTING -i enp0s3 -p tcp -d 10.21.20.68 --dport 80 -j DNAT --to-destination 10.0.2.15:80#偷看 filter tableecho ""echo"=======================filter============================"echo ""iptables -L -n#偷看 nat tableecho ""echo"========================nat=========================="echo ""iptables -t nat -L -n簡化 ssh 連線$ vim .ssh/configHOST u1HostName 10.21.20.128User JackKuoport 3389HOST u2HostName 163.22.17.229User adminport 22
Midterm Conf
U1 IP: 10.105.11.176 10.0.2.11 10.0.3.8U2 IP: 10.0.2.9U3 IP : 10.0.2.10U4 : 10.0.3.9#所有設備都需要的#清除所有規則iptables -Fiptables -Xiptables -F -t mangleiptables -t mangle -Xiptables -F -t natiptables -t nat -Xiptables -P INPUT ACCEPTiptables -P OUTPUT ACCEPTiptables -P FORWARD ACCEPT#設定政策#:FORWARD ACCEPT [0:0]iptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD ACCEPT#信任本機iptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o enp0s3 -j ACCEPT#本機向外封包可以回家iptables -A INPUT -i enp0s3 -m state --state RELATED,ESTABLISHED -j ACCEPTev loU1:# ssh only from u3 ##############iptables -A INPUT -i enp0s8 -p tcp -s 10.0.2.10 -d 10.0.2.11 --dport 22 -j ACCEPT# port forward 2222->u3 22iptables -t nat -A PREROUTING -i enp0s3 -p tcp -d 10.105.11.176 --dport 2222 -j DNAT --to-destination 10.0.2.10:22iptables -t nat -A POSTROUTING -s 10.105.11.176 -d 10.0.2.10 -o enp0s8 -j MASQUERADE# port 20, 21 to u2 ftpiptables -t nat -A PREROUTING -i enp0s3 -p tcp -d 10.105.11.176 --dport 20 -j DNAT --to-destination 10.0.2.9:20iptables -t nat -A PREROUTING -i enp0s3 -p tcp -d 10.105.11.176 --dport 21 -j DNAT --to-destination 10.0.2.9:21iptables -t nat -A POSTROUTING -s 10.105.11.176 -d 10.0.2.9 -o enp0s8 -j MASQUERADE# accept all from u3iptables -A INPUT -i enp0s8 -s 10.0.2.10 -j ACCEPT# accept all from u4iptables -A INPUT -i enp0s9 -s 10.0.3.9 -j ACCEPTU2# route to 10.0.3.0route add -net 10.0.3.0 netmask 255.255.255.0 gw 10.0.2.11 dev enp0s8# ssh only from U3iptables -A INPUT -i enp0s3 -p tcp -d 10.0.2.9 -s 10.0.2.10 --dport 22 -j ACCEPT# ftpiptables -A INPUT -i enp0s3 -p tcp -s any/0 -d 10.0.2.9 --dport 20 -j ACCEPTiptables -A INPUT -i enp0s3 -p tcp -s any/0 -d 10.0.2.9 --dport 21 -j ACCEPTiptables -A INPUT -i enp0s3 -p tcp -s any/0 -d 10.0.2.9 --dport 80 -j ACCEPT# accept all from U4iptables -A INPUT -i enp0s3 -s 10.0.3.9 -j ACCEPTU3# route to 10.0.3.0route add -net 10.0.3.0 netmask 255.255.255.0 gw 10.0.2.11 dev enp0s8# smb from U4#iptables -A INPUT -i enp0s8 -p udp -s 10.0.3.9 -d 10.0.2.10 --dport 137 -j ACCEPT#iptables -A INPUT -i enp0s8 -p udp -s 10.0.3.9 -d 10.0.2.10 --dport 138 -j ACCEPT#iptables -A INPUT -i enp0s8 -p tcp -s 10.0.3.9 -d 10.0.2.10 --dport 139 -j ACCEPT#iptables -A INPUT -i enp0s8 -p tcp -s 10.0.3.9 -d 10.0.2.10 --dport 445 -j ACCEPT# ssh from U1iptables -A INPUT -i enp0s8 -p tcp -s any/0 -d 10.0.2.10 --dport 22 -j ACCEPT# ssh to U1iptables -A INPUT -i enp0s8 -p tcp ! --syn -s 10.0.2.10 --sport 22 -d 10.0.2.6 --dport 1024:65535 -j ACCEPT# ssh to U2iptables -A INPUT -i enp0s8 -p tcp ! --syn -s 10.0.2.9 --sport 22 -d 10.0.2.6 --dport 1024:65535 -j ACCEPT# accept all from U4iptables -A INPUT -i enp0s8 -s 10.0.3.4 -j ACCEPTU4# route to 10.0.2.0route add -net 10.0.2.0 netmask 255.255.255.0 gw 10.0.3.8 dev enp0s3# ssh only from u3iptables -A INPUT -i enp0s3 -p tcp -s 10.0.2.10 -d 10.0.3.9 --dport 22 -j ACCEPT# ssh to U1iptables -A INPUT -i enp0s3 -p tcp ! --syn -s 10.0.2.11 --sport 22 -d 10.0.3.9 --dport 1024:65535 -j ACCEPT# ssh to U2iptables -A INPUT -i enp0s3 -p tcp ! --syn -s 10.0.2.9 --sport 22 -d 10.0.3.9 --dport 1024:65535 -j ACCEPT# ssh to U3iptables -A INPUT -i enp0s3 -p tcp ! --syn -s 10.0.2.10 --sport 22 -d 10.0.3.9 --dport 1024:65535 -j ACCEPT# smb to U3iptables -A INPUT -i enp0s3 -p udp -s 10.0.2.10 --sport 137:138 -d 10.0.3.9 --dport 1024:65535 -j ACCEPTiptables -A INPUT -i enp0s3 -p tcp ! --syn -s 10.0.2.10 --sport 139 -d 10.0.3.9 --dport 1024:65535 -j ACCEPTiptables -A INPUT -i enp0s3 -p tcp ! --syn -s 10.0.2.10 --sport 445 -d 10.0.3.9 --dport 1024:65535 -j ACCEPT可能會用到的指令sudo ip route change default via 192.168.1.1 dev eth0iptables用 dmesg | grep eth 找出網卡