저는 iptables를 처음 접했고 설정 방법이 혼란스럽습니다. 이더넷 카드는 2개인데 IP 주소는 4개 있는 것 같습니다. 문제 없습니다. 내 네트워크/인터페이스에서는 모두 enp2s0f0에 있는 것처럼 보입니다. 서버로 들어가는 네트워크가 enp2s0f0과 동일하다고 가정하면, 그 중 2개를 enp2s0f1 인터페이스로 변경할 수 있나요?
iptables에 eth0(제 경우에는 enp2s0f0)을 지정하면 각 IP에 대한 규칙을 어떻게 만들어야 합니까?
내가 하려는 일은 아래와 같이 네트워크/인터페이스에서 iface를 지정하는 것입니다. 그러나 특별히 enp2s0f0:0으로 설정하면 enp2s0f0 iptables는 대상을 "Anywhere"로 표시합니다.
iptables -A INPUT -i enp2s0f0 -p tcp --dports 80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o enp2s0f0 -p tcp --sports 80,443 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i enp2s0f0:0 -p tcp --dports 80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o enp2s0f0:0 -p tcp --sports 80,443 -m state --state ESTABLISHED -j ACCEPT
내 인터페이스를 보여주는 내 출력은 다음과 같습니다.
$ls /sys/class/net
enp2s0f0 enp2s0f1 lo
$cat /etc/network/interfaces
auto lo
iface lo inet loopback
# The primary network interface
auto enp2s0f0
iface enp2s0f0 inet static
address xx.xx.xx.76
netmask 255.255.255.0
network xx.xx.xx.0
broadcast xx.xx.xx.255
gateway xx.xx.xx.1
auto enp2s0f0:0
iface enp2s0f0:0 inet static
address xx.xx.xx.77
netmask 255.255.255.0
network xx.xx.xx.0
broadcast xx.xx.xx.255
auto enp2s0f0:1
iface enp2s0f0:1 inet static
address xx.xx.xx.78
netmask 255.255.255.0
network xx.xx.xx.0
broadcast xx.xx.xx.255
auto enp2s0f0:2
iface enp2s0f0:2 inet static
address xx.xx.xx.79
netmask 255.255.255.0
network xx.xx.xx.0
broadcast xx.xx.xx.255
나
답변1
나는 다음 줄을 인용합니다 man iptables
:
[!] -p, --protocol protocol
The protocol of the rule or of the packet to check.
[!] -s, --source address[/mask][,...]
Source specification. Address can be either a network name, a hostname,
a net‐work IP address (with /mask), or a plain IP address.
[!] -d, --destination address[/mask][,...]
Destination specification.
저는 각각 두 개의 고정 IP가 있는 두 개의 인터페이스가 있는 상황을 고려합니다. 그렇게 할 수 있기 때문입니다. 따라서 특정 IP를 일치시키려는 경우 규칙을 다시 정렬할 수 있습니다.
iptables -A INPUT -i enp2s0f0 -p tcp -s 0.0.0.0 -d <IP> --dports 80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o enp2s0f0 -p tcp -s <IP> -d 0.0.0.0 --sports 80,443 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i enp2s0f1 -p tcp -s 0.0.0.0 -d <IP> --dports 80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o enp2s0f1 -p tcp -s <IP> -d 0.0.0.0 --sports 80,443 -m state --state ESTABLISHED -j ACCEPT
물론 <IP>
컴퓨터 IP를 변경해야 합니다. 0.0.0.0
변경되는 특정 IP와의 연결만 허용하려는 경우 .