첫 번째 서버에는 debian 8.8과 iptables v1.4.21이 있습니다. 두 번째 서버에는 debian 9.3과 iptables v1.6.0이 있습니다.
첫 번째 서버에서 Iptables 규칙을 변경하는 스크립트가 있습니다. 내 iptable 구성은 첫 번째 서버에서 제대로 작동하여 SSH를 허용하고 모두 삭제하고 ping, HTTP 및 HTTPS 트래픽, 개발 목적으로 8070:9090 범위의 전체 입력 트래픽, 데이터베이스 포트, 로컬 docker0 인터페이스의 루프백 및 IP 제한을 허용합니다.
이 스크립트를 복사/붙여넣기하고 실행하면 새 서버가 현재 SSH를 제외한 모든 연결을 끊고 내 서버를 보호하지 않습니다.
이게 스크립트야
iptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport ssh -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A INPUT -p tcp -m multiport --sports 80,443 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -i eth0 -m multiport --dport 80,443 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 8070:9090 -j ACCEPT
#MONGODB
iptables -A INPUT -p tcp -i eth0 --dport 27017 -s someIp,someIp,someIp -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -I INPUT -i docker0 -j ACCEPT
두 번째 서버에서 첫 번째 서버와 동일한 결과를 얻으려면 스크립트에서 무엇을 업데이트해야 합니까?
감사해요
답변1
Debian 9를 새로 설치하는 경우 네트워크 인터페이스 이름이 반드시 eth0
. 일 필요는 없습니다. 데비안으로 전환예측 가능한 네트워크 인터페이스 이름새로 설치 시 기본 설정입니다.
- NIC가 보드에 통합되어 있고 펌웨어/BIOS에 적절한 정보가 있는 경우 첫 번째 NIC는 입니다
eno1
. - NIC가 PCIe 핫플러그 슬롯에 있는 경우 이름은 입니다
ens<slot ID>
. - NIC에 PCI 장치 ID가 있는 경우 해당 ID에서 이름이 구성됩니다. 즉,
enpXsY
Z=0 또는 Z>0인 경우enpXsYfZ
PCI 장치 XX:YY.Z입니다 . 16진수 숫자가 사용 되지만lspci
네트워크 장치 이름은 일반 10진수 체계를 따릅니다. - 그렇지 않으면 이전 명명 체계가 사용됩니다.
Debian 8에서 업그레이드하면 이전 명명 체계가 유지되며 필요한 경우 다시 전환할 수 있습니다.